Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/HiveService.svc
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/HiveService.svc	(revision 6744)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/HiveService.svc	(revision 6744)
@@ -0,0 +1,5 @@
+﻿<%@ ServiceHost 
+  Language="C#" 
+  Debug="true" 
+  Service="HeuristicLab.Services.Hive.HiveService" 
+  %>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx	(revision 6744)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx	(revision 6744)
@@ -0,0 +1,177 @@
+﻿<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Status.aspx.cs" Inherits="Status" %>
+
+<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
+  Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+  <title></title>
+</head>
+<body>
+  <form id="form1" runat="server">
+  <div>
+    Available Cores:
+    <asp:Label ID="availableCoresLabel" runat="server" />
+    <br />
+    Used Cores / Calculating Jobs:
+    <asp:Label ID="usedCoresLabel" runat="server" />
+    <br />
+    Waiting Jobs:
+    <asp:Label ID="waitingJobsLabel" runat="server" />
+    <br />
+    Slaves (CPU Utilization):
+    <asp:Label ID="slavesLabel" runat="server" />
+    <br />
+    Avg. CPU Utilization:
+    <asp:Label ID="cpuUtilizationLabel" runat="server" />
+    <br />
+    Total ExecutionTime on Hive:
+    <asp:Label ID="totalExecutionTimeLabel" runat="server" />
+    <br />
+    <br />
+    Days:
+    <asp:DropDownList ID="daysDropDownList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="daysDropDownList_SelectedIndexChanged">
+      <asp:ListItem Value="1"></asp:ListItem>
+      <asp:ListItem Value="2"></asp:ListItem>
+      <asp:ListItem Value="3"></asp:ListItem>
+      <asp:ListItem Value="4"></asp:ListItem>
+      <asp:ListItem Value="5"></asp:ListItem>
+      <asp:ListItem Value="6"></asp:ListItem>
+      <asp:ListItem Value="7"></asp:ListItem>
+      <asp:ListItem Value="8"></asp:ListItem>
+      <asp:ListItem Value="9"></asp:ListItem>
+      <asp:ListItem Value="10"></asp:ListItem>
+      <asp:ListItem Value="11"></asp:ListItem>
+      <asp:ListItem Value="12"></asp:ListItem>
+      <asp:ListItem Value="13"></asp:ListItem>
+      <asp:ListItem Value="14"></asp:ListItem>
+      <asp:ListItem Value="All"></asp:ListItem>
+    </asp:DropDownList>
+    <br />
+    <br />
+    Avg. CPU Utilization History of all Slaves<br />
+    <asp:Chart ID="cpuUtilizationChart" runat="server" Height="270px" Width="1900px">
+      <Series>
+        <asp:Series BorderWidth="2" ChartType="Line" Color="0, 176, 80" Name="Series1" XValueType="DateTime"
+          YValueType="Double">
+        </asp:Series>
+      </Series>
+      <ChartAreas>
+        <asp:ChartArea BackColor="Black" BackHatchStyle="DottedGrid" BackSecondaryColor="0, 96, 43"
+          BorderColor="DarkGreen" BorderDashStyle="Dot" Name="ChartArea1">
+          <AxisY>
+            <MajorGrid Enabled="False" />
+          </AxisY>
+          <AxisX IntervalAutoMode="VariableCount" IntervalOffset="1" IntervalOffsetType="Hours"
+            IntervalType="Hours" IsLabelAutoFit="False" >
+            <MajorGrid Enabled="False" />
+            <LabelStyle Format="d/M/yyyy HH:mm" IsStaggered="True" />
+          </AxisX>
+        </asp:ChartArea>
+      </ChartAreas>
+    </asp:Chart>
+    <br />
+    Cores/Used Cores History<br />
+    <asp:Chart ID="coresChart" runat="server" Palette="None" Width="1900px" PaletteCustomColors="137, 165, 78; 185, 205, 150">
+      <Series>
+        <asp:Series ChartType="Area" Name="Cores" XValueType="DateTime" YValueType="Double">
+        </asp:Series>
+        <asp:Series ChartArea="ChartArea1" ChartType="Area" Name="FreeCores" XValueType="DateTime"
+          YValueType="Double">
+        </asp:Series>
+      </Series>
+      <ChartAreas>
+        <asp:ChartArea BackColor="Black" BackHatchStyle="DottedGrid" BackSecondaryColor="0, 96, 43"
+          BorderColor="DarkGreen" BorderDashStyle="Dot" Name="ChartArea1">
+          <AxisY>
+            <MajorGrid Enabled="False" />
+          </AxisY>
+          <AxisX IntervalAutoMode="VariableCount" IntervalOffset="1" IntervalOffsetType="Hours"
+            IntervalType="Hours" IsLabelAutoFit="False" >
+            <MajorGrid Enabled="False" />
+            <LabelStyle Format="d/M/yyyy HH:mm" IsStaggered="True" />
+          </AxisX>
+        </asp:ChartArea>
+      </ChartAreas>
+    </asp:Chart>
+    <br />
+    Memory/Used Memory History (GB)<br />
+    <asp:Chart ID="memoryChart" runat="server" Palette="None" PaletteCustomColors="170, 70, 67; 209, 147, 146"
+      Width="1900px">
+      <Series>
+        <asp:Series ChartType="Area" Name="Cores" XValueType="DateTime" YValueType="Double">
+        </asp:Series>
+        <asp:Series ChartArea="ChartArea1" ChartType="Area" Name="FreeCores" XValueType="DateTime"
+          YValueType="Double">
+        </asp:Series>
+      </Series>
+      <ChartAreas>
+        <asp:ChartArea BackColor="Black" BackHatchStyle="DottedGrid" BackSecondaryColor="0, 96, 43"
+          BorderColor="DarkGreen" BorderDashStyle="Dot" Name="ChartArea1">
+          <AxisY>
+            <MajorGrid Enabled="False" />
+          </AxisY>
+          <AxisX IntervalAutoMode="VariableCount" IntervalOffset="1" IntervalOffsetType="Hours"
+            IntervalType="Hours" IsLabelAutoFit="False" >
+            <MajorGrid Enabled="False" />
+            <LabelStyle Format="d/M/yyyy HH:mm" IsStaggered="True" />
+          </AxisX>
+        </asp:ChartArea>
+      </ChartAreas>
+    </asp:Chart>
+    <br />
+    Speedup (ComputedMinutes/Minute)<br />
+    <asp:Chart ID="speedupChartMinutes" runat="server" Palette="None" Width="1900px"
+      PaletteCustomColors="79, 129, 189">
+      <Series>
+        <asp:Series ChartType="Area" Name="Speedup" XValueType="DateTime" YValueType="Double">
+        </asp:Series>
+        <asp:Series BorderWidth="2" ChartArea="ChartArea1" 
+          ChartType="Line" Color="185, 205, 150" Name="Cores">
+        </asp:Series>
+      </Series>
+      <ChartAreas>
+        <asp:ChartArea BackColor="Black" BackHatchStyle="DottedGrid" BackSecondaryColor="0, 96, 43"
+          BorderColor="DarkGreen" BorderDashStyle="Dot" Name="ChartArea1">
+          <AxisY Minimum="-5">
+            <MajorGrid Enabled="False" />
+          </AxisY>
+          <AxisX IntervalAutoMode="VariableCount" IntervalOffset="1" IntervalOffsetType="Hours"
+            IntervalType="Hours" IsLabelAutoFit="False" >
+            <MajorGrid Enabled="False" />
+            <LabelStyle Format="d/M/yyyy HH:mm" IsStaggered="True" />
+          </AxisX>
+        </asp:ChartArea>
+      </ChartAreas>
+    </asp:Chart>
+    <br />
+    Speedup (ComputedHours/Hour)<br />
+    <br />
+    <asp:Chart ID="speedupChartHours" runat="server" Palette="None" Width="1900px" PaletteCustomColors="79, 129, 189">
+      <Series>
+        <asp:Series ChartType="Area" Name="Speedup" XValueType="DateTime" 
+          YValueType="Double">
+        </asp:Series>
+        <asp:Series BorderWidth="2" ChartArea="ChartArea1" 
+          ChartType="Line" Color="185, 205, 150" Name="Cores">
+        </asp:Series>
+      </Series>
+      <ChartAreas>
+        <asp:ChartArea BackColor="Black" BackHatchStyle="DottedGrid" BackSecondaryColor="0, 96, 43"
+          BorderColor="DarkGreen" BorderDashStyle="Dot" Name="ChartArea1">
+          <AxisY>
+            <MajorGrid Enabled="False" />
+          </AxisY>
+          <AxisX IntervalAutoMode="VariableCount" IntervalOffset="1" IntervalOffsetType="Hours"
+            IntervalType="Hours" IsLabelAutoFit="False">
+            <MajorGrid Enabled="False" />
+            <LabelStyle Format="d/M/yyyy HH:mm" IsStaggered="True" />
+          </AxisX>
+        </asp:ChartArea>
+      </ChartAreas>
+    </asp:Chart>
+    <br />
+  </div>
+  </form>
+</body>
+</html>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx.cs	(revision 6744)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Status.aspx.cs	(revision 6744)
@@ -0,0 +1,123 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using HeuristicLab.Services.Hive.DataAccess;
+using HeuristicLab.Services.Hive;
+using HeuristicLab.Services.Hive.DataTransfer;
+using System.Text;
+using System.Web.UI.DataVisualization.Charting;
+using DA = HeuristicLab.Services.Hive.DataAccess;
+
+public partial class Status : System.Web.UI.Page {
+  protected void Page_Load(object sender, EventArgs e) {
+    var dao = ServiceLocator.Instance.HiveDao;
+    var resourceName = Request.QueryString["resource"];
+    IEnumerable<Guid> resourceIds;
+    if (!string.IsNullOrEmpty(resourceName)) {
+      var resId = dao.GetResources(x => x.Name == resourceName).Single().Id;
+      resourceIds = dao.GetChildResources(resId).Select(x => x.Id).Union(new List<Guid> { resId });
+      speedupChartHours.Visible = false;
+      speedupChartMinutes.Visible = false;
+    } else {
+      resourceIds = dao.GetResources(x => true).Select(y => y.Id);
+      speedupChartHours.Visible = true;
+      speedupChartMinutes.Visible = true;
+    }
+                                  
+    var onlineSlaves = dao.GetSlaves(x => (x.SlaveState == DA.SlaveState.Calculating || x.SlaveState == DA.SlaveState.Idle) && resourceIds.Contains(x.ResourceId));
+
+    int currentlyAvailableCores = onlineSlaves.Sum(s => s.Cores.Value);
+    int currentlyUsedCores = currentlyAvailableCores - onlineSlaves.Sum(s => s.FreeCores.Value);
+    int currentlyJobsWaiting = ServiceLocator.Instance.HiveDao.GetTasks(x => x.State == DA.TaskState.Waiting).Count();
+
+    this.availableCoresLabel.Text = currentlyAvailableCores.ToString();
+    this.usedCoresLabel.Text = currentlyUsedCores.ToString();
+    this.waitingJobsLabel.Text = currentlyJobsWaiting.ToString();
+
+    slavesLabel.Text = string.Join(", ", onlineSlaves.Select(x => string.Format("<a href=\"?resource={0}\">{0}</a> ({1} %)", x.Name, Math.Round(x.CpuUtilization, 2))));
+
+    cpuUtilizationLabel.Text = (onlineSlaves.Count() > 0 ? Math.Round(onlineSlaves.Average(s => s.CpuUtilization), 2).ToString() : "0.0") + " %";
+
+    HeuristicLab.Services.Hive.DataTransfer.Statistics[] stats;
+    if (daysDropDownList.SelectedValue == "All")
+      stats = dao.GetStatistics(x => true).OrderBy(x => x.TimeStamp).ToArray();
+    else
+      stats = dao.GetStatistics(x => x.Timestamp >= DateTime.Now.Subtract(TimeSpan.FromDays(int.Parse(daysDropDownList.SelectedValue)))).OrderBy(x => x.TimeStamp).ToArray();
+
+    var firstStatisticsDate = DateTime.Parse("2011-05-24 17:16:40");
+    var statisticsSince = DateTime.Now - firstStatisticsDate;
+    if (stats.Length != 0) {
+      totalExecutionTimeLabel.Text = new TimeSpan(stats.Last().UserStatistics.Sum(x => x.ExecutionTime.Ticks)).ToString() + " (since " + Math.Round(statisticsSince.TotalDays, 2) + " days)";
+    } else {
+      totalExecutionTimeLabel.Text = "00:00:00.00";
+    }
+    
+    for (int i = 0; i < stats.Length; i++) {
+      var s = stats[i];
+      var slaveStats = s.SlaveStatistics.Where(x => resourceIds.Contains(x.SlaveId));
+
+      var averageCpuUtilization = slaveStats.Count() > 0 ? slaveStats.Average(x => x.CpuUtilization) : 0.0;
+      cpuUtilizationChart.Series[0].Points.Add(new DataPoint(s.TimeStamp.ToOADate(), averageCpuUtilization));
+
+      var cores = slaveStats.Sum(x => x.Cores);
+
+      var usedCores = cores - slaveStats.Sum(x => x.FreeCores);
+      coresChart.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), cores);
+      coresChart.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), usedCores);
+
+      var memory = slaveStats.Sum(x => x.Memory);
+      var usedMemory = memory - slaveStats.Sum(x => x.FreeMemory);
+      memoryChart.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), memory / 1024.0);
+      memoryChart.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), usedMemory / 1024.0);
+
+      if (i > 0) {
+        var execTime = new TimeSpan(s.UserStatistics.Sum(x => x.ExecutionTime.Ticks));
+        var execTimePrev = new TimeSpan(stats[i - 1].UserStatistics.Sum(x => x.ExecutionTime.Ticks));
+        var execTimeDifference = execTimePrev - execTime;
+
+        var timeDifference = stats[i - 1].TimeStamp - s.TimeStamp; // the difference between statistic entries is not alway exactly 1 minute
+        var speedup = execTimeDifference.TotalMinutes / timeDifference.TotalMinutes;
+        speedupChartMinutes.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), speedup);
+        speedupChartMinutes.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), cores);
+      }
+      if (i - 60 >= 0) {
+        var execTime = new TimeSpan(s.UserStatistics.Sum(x => x.ExecutionTime.Ticks));
+        var execTimePrev = new TimeSpan(stats[i - 60].UserStatistics.Sum(x => x.ExecutionTime.Ticks));
+        var execTimeDifference = execTimePrev - execTime;
+
+        var timeDifference = stats[i - 60].TimeStamp - s.TimeStamp; // the difference between statistic entries is not alway exactly 1 minute
+        var speedup = execTimeDifference.TotalMinutes / timeDifference.TotalMinutes;
+        speedupChartHours.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), speedup);
+        speedupChartHours.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), cores);
+      }
+    }
+  }
+
+  protected void daysDropDownList_SelectedIndexChanged(object sender, EventArgs e) {
+
+  }
+}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config	(revision 6744)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config	(revision 6744)
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<configuration>
+  <configSections>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="HeuristicLab.Services.Hive.DataAccess.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+      <section name="HeuristicLab.Services.Hive.Common.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+    </sectionGroup>
+  </configSections>
+  <appSettings>
+    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
+  </appSettings>
+  <applicationSettings>
+    <HeuristicLab.Services.Hive.DataAccess.Settings>
+      <!-- Timeout for long running database command (storing or loading jobData) -->
+      <setting name="LongRunningDatabaseCommandTimeout" serializeAs="String">
+        <value>00:05:33</value>
+      </setting>
+    </HeuristicLab.Services.Hive.DataAccess.Settings>
+    <HeuristicLab.Services.Hive.Common.Settings>
+      <!-- If a slave does not send a heartbeat for this time, it is set offline which means all of its jobs are rescheduled -->
+      <setting name="SlaveHeartbeatTimeout" serializeAs="String">
+        <value>00:01:00</value>
+      </setting>
+      <!-- When a job is in state `Calculating` this is the maximum time it does not have to send heartbeats, otherwise its rescheduled -->
+      <setting name="CalculatingJobHeartbeatTimeout" serializeAs="String">
+        <value>00:05:30</value>
+      </setting>
+      <!-- When a job is in state `Transferring` this is the maximum time it does not have to send heartbeats, otherwise its rescheduled -->
+      <setting name="TransferringJobHeartbeatTimeout" serializeAs="String">
+        <value>00:05:30</value>
+      </setting>
+    </HeuristicLab.Services.Hive.Common.Settings>
+  </applicationSettings>
+  <connectionStrings>
+    <add name="HeuristicLab.Authentication" connectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
+  </connectionStrings>
+  <system.web>
+    <authentication mode="Forms" />
+    <compilation debug="true" targetFramework="4.0">
+      <assemblies>
+        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+      </assemblies>
+    </compilation>
+    <membership>
+      <providers>
+        <clear/>
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="HeuristicLab.Authentication"/>
+      </providers>
+    </membership>
+    <roleManager enabled="true">
+      <providers>
+        <clear/>
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/>
+      </providers>
+    </roleManager>
+    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
+      <controls>
+        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
+         assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+      </controls>
+    </pages>
+    <httpRuntime maxRequestLength="1048576"/>
+  </system.web>
+  <system.serviceModel>
+    <diagnostics>
+      <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="3000"/>
+    </diagnostics>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IHiveService" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
+          <security mode="Message">
+            <transport clientCredentialType="Certificate"/>
+            <message clientCredentialType="UserName"/>
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="ServiceBehaviour_IHiveService">
+          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
+          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
+          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
+          <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider"/>
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName"/>
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider"/>
+          </serviceCredentials>
+          <serviceSecurityAudit auditLogLocation="Application" suppressAuditFailure="false" messageAuthenticationAuditLevel="SuccessOrFailure"/>
+          <serviceThrottling maxConcurrentCalls="100"/>
+          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
+    <services>
+      <service behaviorConfiguration="ServiceBehaviour_IHiveService" name="HeuristicLab.Services.Hive.HiveService">
+        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="MexEndpoint" contract="IMetadataExchange"/>
+        <endpoint binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" name="WSHttpBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/>
+      </service>
+    </services>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+  </system.serviceModel>
+  <system.webServer>
+    <directoryBrowse enabled="true" />
+    <handlers>
+      <remove name="ChartImageHandler" />
+      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
+       path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+    </handlers>
+  </system.webServer>  
+</configuration>
