Index: /trunk/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config	(revision 7020)
@@ -6,4 +6,11 @@
   
   <system.serviceModel>
+    <behaviors>
+      <endpointBehaviors>
+        <behavior name="HiveBehaviorConfiguration">
+          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
+        </behavior>
+      </endpointBehaviors>
+    </behaviors>
     <bindings>
       <wsHttpBinding>
@@ -31,5 +38,5 @@
               bindingConfiguration="wsHttpBinding_Hive" 
               contract="HeuristicLab.Clients.Hive.IHiveService" 
-              name="wsHttpBinding_IHiveService">
+              name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
       <identity>
         <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
Index: /trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/app.config	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/app.config	(revision 7020)
@@ -15,4 +15,11 @@
  
   <system.serviceModel>
+    <behaviors>
+      <endpointBehaviors>
+        <behavior name="HiveBehaviorConfiguration">
+          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
+        </behavior>
+      </endpointBehaviors>
+    </behaviors>
     <bindings>
       <wsHttpBinding>
@@ -34,5 +41,5 @@
     <client>
       <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
+      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
         <identity>
           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj	(revision 7020)
@@ -98,5 +98,7 @@
     <Compile Include="StateLogList.cs" />
     <Compile Include="StateLogListList.cs" />
-    <None Include="app.config" />
+    <None Include="app.config">
+      <SubType>Designer</SubType>
+    </None>
     <None Include="Plugin.cs.frame" />
     <Compile Include="Exceptions\AddTaskToHiveException.cs" />
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs	(revision 7020)
@@ -194,5 +194,5 @@
       this.Job = new Job();
       this.log = new ThreadSafeLog();
-      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(2, 2);
+      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads);
       this.jobDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(jobDownloader_ExceptionOccured);
       this.HiveTasks = new ItemCollection<HiveTask>();
@@ -202,5 +202,5 @@
       this.Job = hiveExperiment;
       this.log = new ThreadSafeLog();
-      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(2, 2);
+      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads);
       this.jobDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(jobDownloader_ExceptionOccured);
       this.HiveTasks = new ItemCollection<HiveTask>();
@@ -212,5 +212,5 @@
       this.log = cloner.Clone(original.log);
       this.RefreshAutomatically = false; // do not start results polling automatically
-      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(2, 2);
+      this.jobDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads);
       this.jobDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(jobDownloader_ExceptionOccured);
       this.HiveTasks = cloner.Clone(original.HiveTasks);
@@ -230,5 +230,5 @@
     public void StartResultPolling() {
       if (jobResultPoller == null) {
-        jobResultPoller = new JobResultPoller(job.Id, /*ApplicationConstants.ResultPollingInterval*/new TimeSpan(0, 0, 5)); //TODO: find a better place for ApplicationConstants
+        jobResultPoller = new JobResultPoller(job.Id, Settings.Default.ResultPollingInterval);
         RegisterResultPollingEvents();
         jobResultPoller.AutoResumeOnException = true;
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs	(revision 7020)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.235
+//     Runtime Version:4.0.30319.239
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -41,4 +41,22 @@
             }
         }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("00:00:10")]
+        public global::System.TimeSpan ResultPollingInterval {
+            get {
+                return ((global::System.TimeSpan)(this["ResultPollingInterval"]));
+            }
+        }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("2")]
+        public int MaxParallelDownloads {
+            get {
+                return ((int)(this["MaxParallelDownloads"]));
+            }
+        }
     }
 }
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.settings
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.settings	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/Settings.settings	(revision 7020)
@@ -9,4 +9,10 @@
       <Value Profile="(Default)">HeuristicLab 3.3.exe</Value>
     </Setting>
+    <Setting Name="ResultPollingInterval" Type="System.TimeSpan" Scope="Application">
+      <Value Profile="(Default)">00:00:10</Value>
+    </Setting>
+    <Setting Name="MaxParallelDownloads" Type="System.Int32" Scope="Application">
+      <Value Profile="(Default)">2</Value>
+    </Setting>
   </Settings>
 </SettingsFile>
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/TaskDownloader.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/TaskDownloader.cs	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/TaskDownloader.cs	(revision 7020)
@@ -51,5 +51,5 @@
       }
     }
-    
+
     public int FinishedCount {
       get {
@@ -66,9 +66,9 @@
     public TaskDownloader(IEnumerable<Guid> jobIds) {
       this.taskIds = jobIds;
-      this.taskDownloader = new ConcurrentTaskDownloader<ItemTask>(2, 2);
+      this.taskDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads);
       this.taskDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(taskDownloader_ExceptionOccured);
       this.results = new Dictionary<Guid, HiveTask>();
     }
-    
+
     public void StartAsync() {
       foreach (Guid taskId in taskIds) {
@@ -88,5 +88,5 @@
             }
           });
-      }      
+      }
     }
 
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/app.config	(revision 7019)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/app.config	(revision 7020)
@@ -14,7 +14,20 @@
         <value>HeuristicLab 3.3.exe</value>
       </setting>
+      <setting name="ResultPollingInterval" serializeAs="String">
+        <value>00:00:10</value>
+      </setting>
+      <setting name="MaxParallelDownloads" serializeAs="String">
+        <value>2</value>
+      </setting>
     </HeuristicLab.Clients.Hive.Settings>
   </applicationSettings>
   <system.serviceModel>
+    <behaviors>
+      <endpointBehaviors>
+        <behavior name="HiveBehaviorConfiguration">
+          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
+        </behavior>
+      </endpointBehaviors>
+    </behaviors>
     <bindings>
       <wsHttpBinding>
@@ -48,5 +61,5 @@
     </bindings>
     <client>
-      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
+      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
         <identity>
           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
