Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/09/11 14:12:10 (13 years ago)
Author:
cneumuel
Message:

#1233

  • removed Job-dto objects from slave core (since it stores outdated objects)
  • added command textbox to HiveJobView
  • improved the way the control buttons behave in HiveJobView
  • improved job control (pause and stop is also possible when job is not currently calculating)
  • improved gantt chart view (last state log entry is also displayed)
  • unified code for downloading jobs between experiment manager and hive engine
Location:
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveJob.cs

    r6111 r6168  
    320320
    321321    public void Pause() {
    322       ServiceLocator.Instance.CallHiveService(s => s.PauseJob(this.job.Id));
     322      if (this.Job.IsParentJob) {
     323        foreach (var child in ChildHiveJobs) {
     324          ServiceLocator.Instance.CallHiveService(s => s.PauseJob(child.job.Id));
     325        }
     326      } else {
     327        ServiceLocator.Instance.CallHiveService(s => s.PauseJob(this.job.Id));
     328      }     
    323329    }
    324330
    325331    public void Stop() {
    326       ServiceLocator.Instance.CallHiveService(s => s.StopJob(this.job.Id));
     332      if (this.Job.IsParentJob) {
     333        foreach (var child in ChildHiveJobs) {
     334          ServiceLocator.Instance.CallHiveService(s => s.StopJob(child.job.Id));
     335        }
     336      } else {
     337        ServiceLocator.Instance.CallHiveService(s => s.StopJob(this.job.Id));
     338      }
    327339    }
    328340
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveJobDownloader.cs

    r6033 r6168  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
    4 using System.Threading;
    5 using System.Threading.Tasks;
    625using HeuristicLab.Clients.Hive.ExperimentManager;
    726using HeuristicLab.Clients.Hive.Jobs;
     
    1130  public class HiveJobDownloader {
    1231    private IEnumerable<Guid> jobIds;
    13     private List<Task<HiveJob>> tasks;
    14     private bool abort = false;
     32    private JobDownloader<ItemJob> jobDownloader;
     33    private IDictionary<Guid, HiveJob> results;
    1534
    1635    public bool IsFinished {
    1736      get {
    18         return tasks.TrueForAll(t => t.Status == TaskStatus.RanToCompletion ||
    19                                      t.Status == TaskStatus.Faulted ||
    20                                      t.Status == TaskStatus.Canceled);
     37        //return tasks.TrueForAll(t => t.Status == TaskStatus.RanToCompletion ||
     38        //                             t.Status == TaskStatus.Faulted ||
     39        //                             t.Status == TaskStatus.Canceled);
     40        return results.Count == jobIds.Count();
    2141      }
    2242    }
     
    2444    public int FinishedCount {
    2545      get {
    26         var faulted = tasks.Where(t => t.Status == TaskStatus.Faulted);
    27         if (faulted.Count() > 0) {
    28           abort = true;
    29           throw faulted.First().Exception;
    30         }
    31         return tasks.Count(t => t.Status == TaskStatus.RanToCompletion ||
    32                                 t.Status == TaskStatus.Faulted ||
    33                                 t.Status == TaskStatus.Canceled);
     46        //var faulted = tasks.Where(t => t.Status == TaskStatus.Faulted);
     47        //if (faulted.Count() > 0) {
     48        //  abort = true;
     49        //  throw faulted.First().Exception;
     50        //}
     51        //return tasks.Count(t => t.Status == TaskStatus.RanToCompletion ||
     52        //                        t.Status == TaskStatus.Faulted ||
     53        //                        t.Status == TaskStatus.Canceled);
     54        return results.Count;
    3455      }
    3556    }
     
    3758    public IDictionary<Guid, HiveJob> Results {
    3859      get {
    39         var results = new Dictionary<Guid, HiveJob>();
    40         foreach (var t in tasks) {
    41           if (t.Status == TaskStatus.Faulted) {
    42             throw t.Exception;
    43           }
    44           if (t.Result != null)
    45             results.Add(t.Result.Job.Id, t.Result);
    46         }
     60        //var results = new Dictionary<Guid, HiveJob>();
     61        //foreach (var t in tasks) {
     62        //  if (t.Status == TaskStatus.Faulted) {
     63        //    throw t.Exception;
     64        //  }
     65        //  if (t.Result != null)
     66        //    results.Add(t.Result.Job.Id, t.Result);
     67        //}
    4768        return results;
    4869      }
     
    5172    public HiveJobDownloader(IEnumerable<Guid> jobIds) {
    5273      this.jobIds = jobIds;
     74      this.jobDownloader = new JobDownloader<ItemJob>(2, 2);
     75      this.results = new Dictionary<Guid, HiveJob>();
    5376    }
    5477
    5578    public void StartAsync() {
    56       abort = false;
    57       tasks = new List<Task<HiveJob>>();
    58       TaskScheduler.UnobservedTaskException += new EventHandler<UnobservedTaskExceptionEventArgs>(TaskScheduler_UnobservedTaskException);
    5979      foreach (Guid jobId in jobIds) {
    60         tasks.Add(Task<JobData>.Factory.StartNew(
    61           (x) => DownloadJob(x), jobId)
    62           .ContinueWith((x) => DeserializeJob(x.Result)));
     80        jobDownloader.DownloadJob(jobId,
     81          (id, itemJob, exception) => {
     82            if (exception != null) {
     83              throw new JobDownloaderException("Downloading job failed", exception);
     84            }
     85            Job job = ServiceLocator.Instance.CallHiveService(s => s.GetJob(id));
     86            if (job != null && itemJob != null) {
     87              HiveJob hiveJob;
     88              if (itemJob is OptimizerJob) {
     89                hiveJob = new OptimizerHiveJob((OptimizerJob)itemJob);
     90              } else {
     91                hiveJob = new HiveJob(itemJob, true);
     92              }
     93              hiveJob.Job = job;
     94              this.results.Add(id, hiveJob);
     95            }
     96          });
    6397      }
     98
     99      //tasks = new List<Task<HiveJob>>();
     100      //TaskScheduler.UnobservedTaskException += new EventHandler<UnobservedTaskExceptionEventArgs>(TaskScheduler_UnobservedTaskException);
     101      //foreach (Guid jobId in jobIds) {
     102      //  tasks.Add(Task<JobData>.Factory.StartNew(
     103      //    (x) => DownloadJob(x), jobId)
     104      //    .ContinueWith((x) => DeserializeJob(x.Result)));
     105      //}
    64106    }
    65107
    66     private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) {
    67       e.SetObserved(); // avoid crash of process because task crashes. first exception found is handled in Results property
    68     }
     108    //private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) {
     109    //  e.SetObserved(); // avoid crash of process because task crashes. first exception found is handled in Results property
     110    //}
    69111
    70     // use semaphore to ensure only few concurrenct connections and few SerializedJob objects in memory
    71     private Semaphore downloadSemaphore = new Semaphore(2, 2);
    72     private Semaphore deserializeSemaphore = new Semaphore(2, 2);
    73     protected JobData DownloadJob(object jobId) {
    74       downloadSemaphore.WaitOne();
    75       deserializeSemaphore.WaitOne();
    76       JobData result;
    77       try {
    78         if (abort) return null;
    79         result = ServiceLocator.Instance.CallHiveService(s => s.GetJobData((Guid)jobId));
    80       }
    81       finally {
    82         downloadSemaphore.Release();
    83       }
    84       return result;
    85     }
     112    //// use semaphore to ensure only few concurrenct connections and few SerializedJob objects in memory
     113    //private Semaphore downloadSemaphore = new Semaphore(2, 2);
     114    //private Semaphore deserializeSemaphore = new Semaphore(2, 2);
     115    //protected JobData DownloadJob(object jobId) {
     116    //  downloadSemaphore.WaitOne();
     117    //  deserializeSemaphore.WaitOne();
     118    //  JobData result;
     119    //  try {
     120    //    if (abort) return null;
     121    //    result = ServiceLocator.Instance.CallHiveService(s => s.GetJobData((Guid)jobId));
     122    //  }
     123    //  finally {
     124    //    downloadSemaphore.Release();
     125    //  }
     126    //  return result;
     127    //}
    86128
    87     protected HiveJob DeserializeJob(JobData jobData) {
    88       try {
    89         Job job = ServiceLocator.Instance.CallHiveService(s => s.GetJob(jobData.JobId));
    90         if (abort || job == null || jobData == null) return null;
     129    //protected HiveJob DeserializeJob(JobData jobData) {
     130    //  try {
     131    //    Job job = ServiceLocator.Instance.CallHiveService(s => s.GetJob(jobData.JobId));
     132    //    if (abort || job == null || jobData == null) return null;
    91133
    92         HiveJob hiveJob;
    93         var itemJob = PersistenceUtil.Deserialize<ItemJob>(jobData.Data);
    94         if (itemJob is OptimizerJob) {
    95           hiveJob = new OptimizerHiveJob((OptimizerJob)itemJob);
    96         } else {
    97           hiveJob = new HiveJob(itemJob, true);
    98         }
    99         jobData.Data = null; // reduce memory consumption.
    100         hiveJob.Job = job;
    101         return hiveJob;
    102       }
    103       finally {
    104         deserializeSemaphore.Release();
    105       }
    106     }
     134    //    HiveJob hiveJob;
     135    //    var itemJob = PersistenceUtil.Deserialize<ItemJob>(jobData.Data);
     136    //    if (itemJob is OptimizerJob) {
     137    //      hiveJob = new OptimizerHiveJob((OptimizerJob)itemJob);
     138    //    } else {
     139    //      hiveJob = new HiveJob(itemJob, true);
     140    //    }
     141    //    jobData.Data = null; // reduce memory consumption.
     142    //    hiveJob.Job = job;
     143    //    return hiveJob;
     144    //  }
     145    //  finally {
     146    //    deserializeSemaphore.Release();
     147    //  }
     148    //}
    107149  }
    108150}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/JobDownloader.cs

    r6111 r6168  
    2020    }
    2121
    22     public void DownloadJob(Guid jobId, Action<T> onFinishedAction) {
     22    public void DownloadJob(Guid jobId, Action<Guid, T, Exception> onFinishedAction) {
    2323      Task<JobData>.Factory.StartNew((x) => DownloadJob(x), jobId)
    2424                                     .ContinueWith((x) => DeserializeJob(x.Result))
    25                                      .ContinueWith((x) => OnJobFinished(x.Result, onFinishedAction), TaskContinuationOptions.ExecuteSynchronously);
     25                                     .ContinueWith((x) => OnJobFinished(jobId, x, onFinishedAction), TaskContinuationOptions.ExecuteSynchronously);
    2626    }
    2727
    28     private T OnJobFinished(T job, Action<T> onFinishedAction) {
    29       onFinishedAction(job);
    30       return job;
     28    private void OnJobFinished(Guid jobId, Task<T> task, Action<Guid, T, Exception> onFinishedAction) {
     29      onFinishedAction(jobId, task.Result, task.Exception);
    3130    }
    3231
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/RefreshableHiveExperiment.cs

    r6110 r6168  
    3535    private JobResultPoller jobResultPoller;
    3636    private JobDownloader<ItemJob> jobDownloader = new JobDownloader<ItemJob>(2, 2);
     37    private static object locker = new object();
    3738
    3839    [Storable]
     
    6667      get { return refreshAutomatically; }
    6768      set {
    68         if (refreshAutomatically != value) {
    69           refreshAutomatically = value;
    70           OnRefreshAutomaticallyChanged();
    71         }
    72         if (RefreshAutomatically && hiveExperiment.HiveJobs != null && hiveExperiment.HiveJobs.Count > 0 && (jobResultPoller == null || !jobResultPoller.IsPolling)) {
    73           StartResultPolling();
    74         } else {
    75           StopResultPolling();
     69        lock (locker) {
     70          if (refreshAutomatically != value) {
     71            refreshAutomatically = value;
     72            OnRefreshAutomaticallyChanged();
     73          }
     74          if (RefreshAutomatically) {
     75            if (hiveExperiment.HiveJobs != null && hiveExperiment.HiveJobs.Count > 0 && (jobResultPoller == null || !jobResultPoller.IsPolling)) {
     76              StartResultPolling();
     77            }
     78          } else {
     79            StopResultPolling();
     80          }
    7681        }
    7782      }
     
    156161          // lastJobDataUpdate equals DateTime.MinValue right after it was uploaded. When the first results are polled, this value is updated
    157162          if (lastJobDataUpdate != DateTime.MinValue && lastJobDataUpdate < hj.Job.LastJobDataUpdate) {
    158             jobDownloader.DownloadJob(hj.Job.Id, (itemJob) => {
     163            jobDownloader.DownloadJob(hj.Job.Id, (id, itemJob, exception) => {
     164              if (exception != null) {
     165                throw new JobDownloaderException("Downloading job failed.", exception);
     166              }
     167
    159168              if (itemJob == null) {
    160169                // something bad happened to this job. bad job, BAAAD job!
     
    218227      hiveExperiment.ExecutionTime = TimeSpan.FromMilliseconds(hiveExperiment.GetAllHiveJobs().Sum(x => x.Job.ExecutionTime.HasValue ? x.Job.ExecutionTime.Value.TotalMilliseconds : 0));
    219228    }
    220 
    221     public void OnLoaded() {
    222       this.UpdateTotalExecutionTime();
    223 
    224       if (hiveExperiment.ExecutionState != ExecutionState.Stopped) {
    225         this.RefreshAutomatically = true;
    226       }
    227     }
    228229    #endregion
    229230
     
    235236      hiveExperiment.ModifiedChanged += new EventHandler(hiveExperiment_ModifiedChanged);
    236237      hiveExperiment.IsProgressingChanged += new EventHandler(hiveExperiment_IsProgressingChanged);
     238      hiveExperiment.Loaded += new EventHandler(hiveExperiment_Loaded);
    237239    }
    238240
     
    244246      hiveExperiment.ModifiedChanged -= new EventHandler(hiveExperiment_ModifiedChanged);
    245247      hiveExperiment.IsProgressingChanged -= new EventHandler(hiveExperiment_IsProgressingChanged);
     248      hiveExperiment.Loaded -= new EventHandler(hiveExperiment_Loaded);
     249    }
     250
     251    private void hiveExperiment_Loaded(object sender, EventArgs e) {
     252      this.UpdateTotalExecutionTime();
     253
     254      if (hiveExperiment.ExecutionState != ExecutionState.Stopped) {
     255        this.RefreshAutomatically = true;
     256      }
    246257    }
    247258
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HeuristicLab.Clients.Hive-3.4.csproj

    r6111 r6168  
    123123    <Compile Include="ExperimentManager\ExperimentManagerClient.cs" />
    124124    <Compile Include="ExperimentManager\HiveJobDownloader.cs" />
     125    <Compile Include="ExperimentManager\JobDownloaderException.cs" />
    125126    <Compile Include="ExperimentManager\TreeView\IItemTree.cs" />
    126127    <Compile Include="ExperimentManager\TreeView\IItemTreeAction.cs" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveExperiment.cs

    r6033 r6168  
    119119    #region Events
    120120    public event EventHandler ExecutionTimeChanged;
    121     private void OnExecutionTimeChanged() {
    122       EventHandler handler = ExecutionTimeChanged;
     121    protected virtual void OnExecutionTimeChanged() {
     122      var handler = ExecutionTimeChanged;
    123123      if (handler != null) handler(this, EventArgs.Empty);
    124124    }
    125125
    126126    public event EventHandler ExecutionStateChanged;
    127     private void OnExecutionStateChanged() {
    128       EventHandler handler = ExecutionStateChanged;
     127    protected virtual void OnExecutionStateChanged() {
     128      var handler = ExecutionStateChanged;
    129129      if (handler != null) handler(this, EventArgs.Empty);
    130130    }
     
    132132    public event EventHandler HiveJobsChanged;
    133133    protected virtual void OnHiveJobsChanged() {
    134       EventHandler handler = HiveJobsChanged;
     134      var handler = HiveJobsChanged;
    135135      if (handler != null) handler(this, EventArgs.Empty);
    136136    }
    137137
    138138    public event EventHandler IsProgressingChanged;
    139     private void OnIsProgressingChanged() {
    140       EventHandler handler = IsProgressingChanged;
     139    protected virtual void OnIsProgressingChanged() {
     140      var handler = IsProgressingChanged;
     141      if (handler != null) handler(this, EventArgs.Empty);
     142    }
     143
     144    public event EventHandler Loaded;
     145    public virtual void OnLoaded() {
     146      var handler = Loaded;
    141147      if (handler != null) handler(this, EventArgs.Empty);
    142148    }
     
    175181      return Name;
    176182    }
    177 
    178     public virtual void OnLoaded() { }
    179183  }
    180184}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/app_ascheibe.config

    r6167 r6168  
    11<?xml version="1.0"?>
    22<configuration>
    3     <system.serviceModel>
    4         <bindings>
    5           <wsHttpBinding>
    6             <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
    7               <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="2147483647"/>
    8               <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
    9               <security mode="Message">
    10                 <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
    11                 <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
    12               </security>
    13             </binding>
    14           </wsHttpBinding>
    15             </bindings>
    16       <client>
     3  <system.serviceModel>
     4    <bindings>
     5      <wsHttpBinding>
     6        <binding name="wsHttpBinding_IHiveService"
     7                 closeTimeout="00:01:00"
     8                 openTimeout="00:01:00"
     9                 receiveTimeout="00:20:00"
     10                 sendTimeout="00:20:00"
     11                 bypassProxyOnLocal="false"
     12                 transactionFlow="false"
     13                 hostNameComparisonMode="StrongWildcard"
     14                 maxBufferPoolSize="2147483647"
     15                 maxReceivedMessageSize="2147483647"
     16                 messageEncoding="Text"
     17                 textEncoding="utf-8"
     18                 useDefaultWebProxy="true"
     19                 allowCookies="false">
     20
     21          <readerQuotas maxDepth="2147483647"
     22                        maxStringContentLength="2147483647"
     23                        maxArrayLength="2147483647"
     24                        maxBytesPerRead="2147483647"
     25                        maxNameTableCharCount="2147483647"/>
     26          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
     27          <security mode="Message">
     28            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
     29            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
     30          </security>
     31        </binding>
     32      </wsHttpBinding>
     33    </bindings>
     34    <client>
    1735      <endpoint address="http://localhost/HiveService.svc"
    1836            binding="wsHttpBinding"
    19             bindingConfiguration="wsHttpBinding_Hive"
     37            bindingConfiguration="wsHttpBinding_IHiveService"
    2038            contract="HeuristicLab.Clients.Hive.IHiveService"
    2139            name="wsHttpBinding_IHiveService">
     
    2543
    2644      </endpoint>
    27       </client>
    28     </system.serviceModel>
    29 <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
     45    </client>
     46  </system.serviceModel>
     47  <startup>
     48    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
     49  </startup>
     50</configuration>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/app_f005pc.config

    r6167 r6168  
    11<?xml version="1.0"?>
    22<configuration>
    3     <system.serviceModel>
    4         <bindings>
    5             <wsHttpBinding>
    6                 <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
    7                   <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
    8                   <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
    9                   <security mode="Message">
    10                     <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
    11                     <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
    12                   </security>
    13                 </binding>
    14               </wsHttpBinding>
    15             </bindings>
    16         <client>
    17             <endpoint address="http://localhost/Hive-3.4/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
    18               <identity>
    19                 <certificate encodedValue="AwAAAAEAAAAUAAAAfEKvcVixnJay+q4hCPFuO0JL5TQgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhCNN5wrUcXMmE/9xwp4TYa9MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxOTEwNTMxNVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXwC5TGcAffd/0oAWHtm0s6YXVXEgXgb1AYmBkkkhkKIFJG/e/Z0KSYbJepmSJD44W3oOAVm+x1DAsZxU79HahDYgWCuHLMm1TLpwSmYOQ0kV3pGHWHhiWV7h7oGLds/eqZ2EOpaNGryfEPnrA4VmxY91vV5/2BTeVSWG6F8lRKQIDAQABo0kwRzBFBgNVHQEEPjA8gBAR7kBnMRHO5gzThEqda0wWoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghCNN5wrUcXMmE/9xwp4TYa9MAkGBSsOAwIdBQADgYEAoPwEG4QTDXhlxERNDfsZmM2IhEpV42ppz1kEah2oYKDa/ElIMVtvqLv6flVtg18ENN/mEJWiHZ3NyP3qr2Pip+sh+/2WBiSbOaukES/CM7OJn9kJCImH7M/xqM8pxqY8IfgM6iBVrVj9uHqj3j2BBck+cYY8fKyh3CFifMIp6ac="/>
    20               </identity>
    21             </endpoint>
    22         </client>
    23     </system.serviceModel>
    24 <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
     3  <system.serviceModel>
     4    <bindings>
     5      <wsHttpBinding>
     6        <binding name="wsHttpBinding_IHiveService"
     7                 closeTimeout="00:01:00"
     8                 openTimeout="00:01:00"
     9                 receiveTimeout="00:20:00"
     10                 sendTimeout="00:20:00"
     11                 bypassProxyOnLocal="false"
     12                 transactionFlow="false"
     13                 hostNameComparisonMode="StrongWildcard"
     14                 maxBufferPoolSize="2147483647"
     15                 maxReceivedMessageSize="2147483647"
     16                 messageEncoding="Text"
     17                 textEncoding="utf-8"
     18                 useDefaultWebProxy="true"
     19                 allowCookies="false">
     20
     21          <readerQuotas maxDepth="2147483647"
     22                        maxStringContentLength="2147483647"
     23                        maxArrayLength="2147483647"
     24                        maxBytesPerRead="2147483647"
     25                        maxNameTableCharCount="2147483647"/>
     26          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
     27          <security mode="Message">
     28            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
     29            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
     30          </security>
     31        </binding>
     32      </wsHttpBinding>
     33    </bindings>
     34    <client>
     35      <endpoint address="http://localhost/Hive-3.4/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_IHiveService" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
     36        <identity>
     37          <certificate encodedValue="AwAAAAEAAAAUAAAAfEKvcVixnJay+q4hCPFuO0JL5TQgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhCNN5wrUcXMmE/9xwp4TYa9MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxOTEwNTMxNVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXwC5TGcAffd/0oAWHtm0s6YXVXEgXgb1AYmBkkkhkKIFJG/e/Z0KSYbJepmSJD44W3oOAVm+x1DAsZxU79HahDYgWCuHLMm1TLpwSmYOQ0kV3pGHWHhiWV7h7oGLds/eqZ2EOpaNGryfEPnrA4VmxY91vV5/2BTeVSWG6F8lRKQIDAQABo0kwRzBFBgNVHQEEPjA8gBAR7kBnMRHO5gzThEqda0wWoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghCNN5wrUcXMmE/9xwp4TYa9MAkGBSsOAwIdBQADgYEAoPwEG4QTDXhlxERNDfsZmM2IhEpV42ppz1kEah2oYKDa/ElIMVtvqLv6flVtg18ENN/mEJWiHZ3NyP3qr2Pip+sh+/2WBiSbOaukES/CM7OJn9kJCImH7M/xqM8pxqY8IfgM6iBVrVj9uHqj3j2BBck+cYY8fKyh3CFifMIp6ac="/>
     38        </identity>
     39      </endpoint>
     40    </client>
     41  </system.serviceModel>
     42  <startup>
     43    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
     44  </startup>
     45</configuration>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/app_services.config

    r6167 r6168  
    44    <bindings>
    55      <wsHttpBinding>
    6         <binding name="wsHttpBinding_Hive"
     6        <binding name="wsHttpBinding_IHiveService"
    77                 closeTimeout="00:01:00"
    88                 openTimeout="00:01:00"
     
    3333    </bindings>
    3434    <client>
    35       <endpoint address="http://services.heuristiclab.com/Hive-3.4/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
     35      <endpoint address="http://services.heuristiclab.com/Hive-3.4/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_IHiveService" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService">
    3636        <identity>
    3737          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
Note: See TracChangeset for help on using the changeset viewer.