Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/22/10 17:13:27 (14 years ago)
Author:
cneumuel
Message:

#1233

  • added plugin management features
  • took over client-GUI from old branch
  • merged with bugfixes from old branch
  • added hive-web (for IIS)
Location:
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New
Files:
2 added
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New

    • Property svn:ignore
      •  

        old new  
        11*.suo
         2Tests
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj

    r4796 r4905  
    4545      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
    4646    </Reference>
    47     <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.2.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     47    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     48      <SpecificVersion>False</SpecificVersion>
     49      <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     50    </Reference>
    4851    <Reference Include="HeuristicLab.Core-3.3">
    4952      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     
    6164      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    6265    </Reference>
    63     <Reference Include="HeuristicLab.Tracing-3.3, Version=3.2.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     66    <Reference Include="HeuristicLab.Tracing-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     67      <SpecificVersion>False</SpecificVersion>
     68      <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
     69    </Reference>
    6470    <Reference Include="System" />
    6571    <Reference Include="System.Core" />
     
    7682    <Compile Include="Exceptions\JobResultPollingException.cs" />
    7783    <Compile Include="Exceptions\OptimizerNotFoundException.cs" />
     84    <Compile Include="HiveExperiment\PluginClient.cs" />
    7885    <Compile Include="Jobs\OptimizerJob.cs" />
    7986    <Compile Include="HeuristicLabClientsHivePlugin.cs" />
    80     <Compile Include="HiveExperiment\HiveClient.cs" />
     87    <Compile Include="HiveExperiment\HiveExperimentManagerClient.cs" />
    8188    <Compile Include="HiveExperiment\HiveJobClient.cs" />
    8289    <Compile Include="HiveExperiment\HiveExperimentClient.cs" />
     
    99106    <None Include="ServiceClients\GenerateServiceClients.cmd" />
    100107    <None Include="Properties\Settings.settings">
    101       <Generator>SettingsSingleFileGenerator</Generator>
     108      <Generator>PublicSettingsSingleFileGenerator</Generator>
    102109      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    103110    </None>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveExperimentClient.cs

    r4796 r4905  
    4444    private const string itemDescription = "A runner for a single experiment, which's algorithms are executed in the Hive.";
    4545    private System.Timers.Timer timer;
     46    private DateTime lastUpdateTime;
     47    private Guid? rootJobId;
     48    private JobResultPoller jobResultPoller;
    4649
    4750    private Guid hiveExperimentId;
     
    6972    }
    7073
    71     private DateTime lastUpdateTime;
    72 
    7374    private string resourceIds;
    7475    public string ResourceIds {
     
    8283    }
    8384
    84     private Guid? rootJobId;
    85 
    8685    private bool isPollingResults;
    8786    public bool IsPollingResults {
     
    111110    }
    112111
    113     private JobResultPoller jobResultPoller;
    114 
    115 
    116     public HiveExperimentClient()
    117       : base(itemName, itemDescription) {
    118       //this.ResourceIds = HeuristicLab.Hive.Experiment.Properties.Settings.Default.ResourceIds;
     112    public HiveExperimentClient() : base(itemName, itemDescription) {
     113      // TODO //this.ResourceIds = HeuristicLab.Hive.Experiment.Properties.Settings.Default.ResourceIds;
    119114      this.ResourceIds = "MyGroup";
    120115      this.log = new Log();
    121116      InitTimer();
    122117    }
    123     public HiveExperimentClient(DT.HiveExperiment hiveExperimentDto)
    124       : this() {
     118    public HiveExperimentClient(DT.HiveExperiment hiveExperimentDto) : this() {
    125119      UpdateFromDto(hiveExperimentDto);
    126120    }
    127121    protected HiveExperimentClient(HiveExperimentClient original, Cloner cloner)
    128122      : base(original, cloner) {
    129       this.resourceIds = original.resourceIds;
    130       this.executionState = original.executionState;
    131       this.executionTime = original.executionTime;
     123      this.ResourceIds = original.resourceIds;
     124      this.ExecutionState = original.executionState;
     125      this.ExecutionTime = original.executionTime;
    132126      this.log = cloner.Clone(original.log);
    133127      this.lastUpdateTime = original.lastUpdateTime;
     
    137131      return new HiveExperimentClient(this, cloner);
    138132    }
    139 
    140133
    141134    public void UpdateFromDto(DT.HiveExperiment hiveExperimentDto) {
     
    143136      this.Name = hiveExperimentDto.Name;
    144137      this.Description = hiveExperimentDto.Description;
    145       //this.ResourceIds = hiveExperimentDto.ResourceIds;
     138      // TODO: this.ResourceIds = hiveExperimentDto.ResourceIds;
    146139      this.rootJobId = hiveExperimentDto.RootJobId;
    147140    }
     
    270263      jobCount++;
    271264      this.progress.Status = string.Format("Serializing job {0} of {1}", jobCount, totalJobCount);
    272       JobData serializedJob;
     265      JobData jobData;
    273266      if (hiveJob.OptimizerJob.ComputeInParallel &&
    274267        (hiveJob.OptimizerJob.Optimizer is Optimization.Experiment || hiveJob.OptimizerJob.Optimizer is Optimization.BatchRun)) {
    275268        hiveJob.Job.JobState = JobState.WaitingForChildJobs;
    276269        hiveJob.OptimizerJob.CollectChildJobs = false; // don't collect child-jobs on slaves
    277         serializedJob = hiveJob.GetAsSerializedJob(true);
     270        jobData = hiveJob.GetAsJobData(true);
    278271      } else {
    279         serializedJob = hiveJob.GetAsSerializedJob(false);
    280       }
    281 
    282       this.progress.Status = string.Format("Uploading job {0} of {1} ({2} kb)", jobCount, totalJobCount, serializedJob.Data.Count() / 1024);
     272        jobData = hiveJob.GetAsJobData(false);
     273      }
     274
     275      this.progress.Status = string.Format("Uploading job {0} of {1} ({2} kb)", jobCount, totalJobCount, jobData.Data.Count() / 1024);
    283276      this.progress.ProgressValue = (double)jobCount / totalJobCount;
    284277
    285278      if (parentHiveJob != null) {
    286279        //response = service.AddChildJob(parentHiveJob.Job.Id, serializedJob);
    287         hiveJob.Job.Id = service.AddChildJob(parentHiveJob.Job.Id, hiveJob.Job, serializedJob);
     280        hiveJob.Job.Id = service.AddChildJob(parentHiveJob.Job.Id, hiveJob.Job, jobData);
    288281      } else {
    289282        // response = service.AddJobWithGroupStrings(serializedJob, groups);
    290         hiveJob.Job.Id = service.AddJob(hiveJob.Job, serializedJob);
     283        hiveJob.Job.Id = service.AddJob(hiveJob.Job, jobData);
    291284      }
    292285
     
    467460            LogMessage(hj.Job.Id, "Downloading optimizer for job");
    468461            OptimizerJob optimizerJob = LoadOptimizerJob(hj.Job.Id);
    469             if (lightweightJob.ParentJobId.HasValue) {
    470               HiveJob parentHiveJob = HiveJob.GetHiveJobByJobId(lightweightJob.ParentJobId.Value);
    471               parentHiveJob.UpdateChildOptimizer(optimizerJob, hj.Job.Id);
     462            if (optimizerJob == null) {
     463              // something bad happened to this job. set to finished to allow the rest beeing downloaded
     464              hj.IsFinishedOptimizerDownloaded = true;
    472465            } else {
    473               this.HiveJob.IsFinishedOptimizerDownloaded = true;
     466              if (lightweightJob.ParentJobId.HasValue) {
     467                HiveJob parentHiveJob = HiveJob.GetHiveJobByJobId(lightweightJob.ParentJobId.Value);
     468                parentHiveJob.UpdateChildOptimizer(optimizerJob, hj.Job.Id);
     469              } else {
     470                this.HiveJob.IsFinishedOptimizerDownloaded = true;
     471              }
    474472            }
    475473          }
     
    541539          // download them first
    542540          IDictionary<Guid, Job> allJobs = new Dictionary<Guid, Job>();
    543           IDictionary<Guid, JobData> allSerializedJobs = new Dictionary<Guid, JobData>();
     541          IDictionary<Guid, JobData> allJobDatas = new Dictionary<Guid, JobData>();
    544542          foreach (LightweightJob lightweightJob in allResults) {
    545543            jobCount++;
    546544            progress.Status = string.Format("Downloading {0} of {1} jobs...", jobCount, totalJobCount);
    547545            allJobs.Add(lightweightJob.Id, service.Obj.GetJob(lightweightJob.Id));
    548             allSerializedJobs.Add(lightweightJob.Id, service.Obj.GetJobData(lightweightJob.Id));
     546            allJobDatas.Add(lightweightJob.Id, service.Obj.GetJobData(lightweightJob.Id));
    549547            progress.ProgressValue = (double)jobCount / totalJobCount;
    550548          }
    551549
    552550          jobCount = 1;
    553           progress.Status = string.Format("Deserializing {0} of {1} jobs... ({2} kb)", jobCount, totalJobCount, allSerializedJobs[this.rootJobId.Value].Data.Count() / 1024);
    554           this.HiveJob = new HiveJob(allJobs[this.rootJobId.Value], allSerializedJobs[this.rootJobId.Value], false);
    555           allSerializedJobs.Remove(this.rootJobId.Value); // reduce memory footprint
     551          progress.Status = string.Format("Deserializing {0} of {1} jobs... ({2} kb)", jobCount, totalJobCount, allJobDatas[this.rootJobId.Value].Data.Count() / 1024);
     552          this.HiveJob = new HiveJob(allJobs[this.rootJobId.Value], allJobDatas[this.rootJobId.Value], false);
     553          allJobDatas.Remove(this.rootJobId.Value); // reduce memory footprint
    556554          allJobs.Remove(this.rootJobId.Value);
    557555          progress.ProgressValue = (double)jobCount / totalJobCount;
     
    570568
    571569          // build child-job tree
    572           LoadChildResults(service.Obj, this.HiveJob, allResults, allJobs, allSerializedJobs, progress, totalJobCount, ref jobCount);
     570          LoadChildResults(service.Obj, this.HiveJob, allResults, allJobs, allJobDatas, progress, totalJobCount, ref jobCount);
    573571          StartResultPolling();
    574572        }
     
    582580    }
    583581
    584     private void LoadChildResults(IHiveService service, HiveJob parentHiveJob, IEnumerable<LightweightJob> allResults, IDictionary<Guid, Job> allJobs, IDictionary<Guid, JobData> allSerializedJobs, IProgress progress, int totalJobCount, ref int jobCount) {
     582    private void LoadChildResults(IHiveService service, HiveJob parentHiveJob, IEnumerable<LightweightJob> allResults, IDictionary<Guid, Job> allJobs, IDictionary<Guid, JobData> allJobDatas, IProgress progress, int totalJobCount, ref int jobCount) {
    585583      IEnumerable<LightweightJob> childResults = from result in allResults
    586584                                                 where result.ParentJobId.HasValue && result.ParentJobId.Value == parentHiveJob.Job.Id
     
    589587      foreach (LightweightJob lightweightJob in childResults) {
    590588        jobCount++;
    591         progress.Status = string.Format("Deserializing {0} of {1} jobs ({2} kb)...", jobCount, totalJobCount, allSerializedJobs[lightweightJob.Id].Data.Count() / 1024);
    592         OptimizerJob optimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(allSerializedJobs[lightweightJob.Id].Data);
     589        progress.Status = string.Format("Deserializing {0} of {1} jobs ({2} kb)...", jobCount, totalJobCount, allJobDatas[lightweightJob.Id].Data.Count() / 1024);
     590        OptimizerJob optimizerJob = null;
     591        try {
     592          optimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(allJobDatas[lightweightJob.Id].Data);
     593        }
     594        catch {
     595          optimizerJob = null;
     596        }
    593597        progress.ProgressValue = (double)jobCount / totalJobCount;
    594598        HiveJob childHiveJob = new HiveJob(optimizerJob, false);
    595599        parentHiveJob.AddChildHiveJob(childHiveJob);
    596600        childHiveJob.Job = allJobs[lightweightJob.Id];
    597         allSerializedJobs.Remove(lightweightJob.Id); // reduce memory footprint
     601        allJobDatas.Remove(lightweightJob.Id); // reduce memory footprint
    598602        allJobs.Remove(lightweightJob.Id);
    599603        if (jobCount % 10 == 0) GC.Collect(); // this is needed or otherwise HL takes over the system when the number of jobs is high
    600         LoadChildResults(service, childHiveJob, allResults, allJobs, allSerializedJobs, progress, totalJobCount, ref jobCount);
     604        LoadChildResults(service, childHiveJob, allResults, allJobs, allJobDatas, progress, totalJobCount, ref jobCount);
    601605      }
    602606    }
     
    604608    private OptimizerJob LoadOptimizerJob(Guid jobId) {
    605609      using (var service = ServiceLocator.Instance.ServicePool.GetService()) {
    606         JobData serializedJob = service.Obj.GetJobData(jobId);
    607         return PersistenceUtil.Deserialize<OptimizerJob>(serializedJob.Data);
     610        JobData jobData = service.Obj.GetJobData(jobId);
     611        try {
     612          return PersistenceUtil.Deserialize<OptimizerJob>(jobData.Data);
     613        }
     614        catch {
     615          return null;
     616        }
    608617      }
    609618    }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveJobClient.cs

    r4796 r4905  
    3131using HeuristicLab.Services.Hive.Common.DataTransfer;
    3232using HeuristicLab.Clients.Hive.Jobs;
     33using HeuristicLab.PluginInfrastructure;
     34using System.IO;
     35using HeuristicLab.PluginInfrastructure.Manager;
    3336
    3437namespace HeuristicLab.Clients.Hive {
    3538
     39  [Item("Hive Job", "Represents a hive job.")]
    3640  public class HiveJob : Item {
    3741    private static object locker = new object();
     
    136140    }
    137141
    138     public HiveJob(Job job, JobData serializedJob, bool autoCreateChildHiveJobs)
     142    public HiveJob(Job job, JobData jobData, bool autoCreateChildHiveJobs)
    139143      : this() {
    140144      this.syncJobsWithOptimizers = autoCreateChildHiveJobs;
    141145      this.Job = job;
    142       this.OptimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(serializedJob.Data);
     146      try {
     147        this.OptimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(jobData.Data);
     148      }
     149      catch {
     150        this.OptimizerJob = null;
     151      }
    143152      this.syncJobsWithOptimizers = true;
    144153    }
     
    193202          batchRun.AlgorithmChanged += new EventHandler(batchRun_AlgorithmChanged);
    194203        }
    195 
    196204        OptimizerJob.ComputeInParallelChanged += new EventHandler(OptimizerJob_ComputeInParallelChanged);
    197205        OptimizerJob.ToStringChanged += new EventHandler(OptimizerJob_ToStringChanged);
     
    199207    }
    200208    private void DergisterOptimizerEvents() {
    201       if (Job != null && OptimizerJob.Optimizer is Optimization.Experiment) {
     209      if (OptimizerJob != null) {
    202210        if (OptimizerJob.Optimizer is Optimization.Experiment) {
    203211          Optimization.Experiment experiment = OptimizerJob.OptimizerAsExperiment;
     
    211219          batchRun.AlgorithmChanged -= new EventHandler(batchRun_AlgorithmChanged);
    212220        }
    213 
    214221        OptimizerJob.ComputeInParallelChanged -= new EventHandler(OptimizerJob_ComputeInParallelChanged);
    215222        OptimizerJob.ToStringChanged -= new EventHandler(OptimizerJob_ToStringChanged);
     
    285292      this.childHiveJobs.Add(hiveJob);
    286293      syncJobsWithOptimizers = false;
    287       if (this.OptimizerJob.Optimizer is Optimization.Experiment) {
    288         if (!this.OptimizerJob.OptimizerAsExperiment.Optimizers.Contains(hiveJob.OptimizerJob.Optimizer)) {
    289           UpdateOptimizerInExperiment(this.OptimizerJob.OptimizerAsExperiment, hiveJob.OptimizerJob);
    290         }
    291       } else if (this.OptimizerJob.Optimizer is Optimization.BatchRun) {
    292         UpdateOptimizerInBatchRun(this.OptimizerJob.OptimizerAsBatchRun, hiveJob.OptimizerJob);
     294      if (this.OptimizerJob != null && hiveJob.OptimizerJob != null) {
     295        if (this.OptimizerJob.Optimizer is Optimization.Experiment) {
     296          if (!this.OptimizerJob.OptimizerAsExperiment.Optimizers.Contains(hiveJob.OptimizerJob.Optimizer)) {
     297            UpdateOptimizerInExperiment(this.OptimizerJob.OptimizerAsExperiment, hiveJob.OptimizerJob);
     298          }
     299        } else if (this.OptimizerJob.Optimizer is Optimization.BatchRun) {
     300          UpdateOptimizerInBatchRun(this.OptimizerJob.OptimizerAsBatchRun, hiveJob.OptimizerJob);
     301        }
    293302      }
    294303      syncJobsWithOptimizers = true;
     
    305314      bool childIsFinishedOptimizerDownloaded = false;
    306315
    307       if (this.OptimizerJob.Optimizer is Optimization.Experiment) {
    308         UpdateOptimizerInExperiment(this.OptimizerJob.OptimizerAsExperiment, optimizerJob);
    309         childIsFinishedOptimizerDownloaded = true;
    310       } else if (this.OptimizerJob.Optimizer is Optimization.BatchRun) {
    311         UpdateOptimizerInBatchRun(this.OptimizerJob.OptimizerAsBatchRun, optimizerJob);
    312         if (this.OptimizerJob.OptimizerAsBatchRun.Repetitions == this.OptimizerJob.Optimizer.Runs.Count) {
     316      if (this.OptimizerJob != null && this.OptimizerJob.Optimizer != null) {
     317        if (this.OptimizerJob.Optimizer is Optimization.Experiment) {
     318          UpdateOptimizerInExperiment(this.OptimizerJob.OptimizerAsExperiment, optimizerJob);
    313319          childIsFinishedOptimizerDownloaded = true;
    314         }
    315       } else {
    316         childIsFinishedOptimizerDownloaded = optimizerJob.Optimizer.ExecutionState == ExecutionState.Stopped;
     320        } else if (this.OptimizerJob.Optimizer is Optimization.BatchRun) {
     321          UpdateOptimizerInBatchRun(this.OptimizerJob.OptimizerAsBatchRun, optimizerJob);
     322          if (this.OptimizerJob.OptimizerAsBatchRun.Repetitions == this.OptimizerJob.Optimizer.Runs.Count) {
     323            childIsFinishedOptimizerDownloaded = true;
     324          }
     325        } else {
     326          childIsFinishedOptimizerDownloaded = optimizerJob.Optimizer.ExecutionState == ExecutionState.Stopped;
     327        }
    317328      }
    318329
     
    411422
    412423    /// <summary>
    413     /// Creates a SerializedJob object containing the Job and the IJob-Object as byte[]
     424    /// Creates a JobData object containing the Job and the IJob-Object as byte[]
    414425    /// </summary>
    415426    /// <param name="withoutChildOptimizers">
    416427    ///   if true the Child-Optimizers will not be serialized (if the job contains an Experiment)
    417428    /// </param>
    418     public JobData GetAsSerializedJob(bool withoutChildOptimizers) {
     429    public JobData GetAsJobData(bool withoutChildOptimizers) {
     430      if (this.optimizerJob == null || this.optimizerJob.Optimizer == null)
     431        return null;
     432
    419433      byte[] jobByteArray;
    420434      if (withoutChildOptimizers && this.OptimizerJob.Optimizer is Optimization.Experiment) {
     
    435449      UpdateRequiredPlugins();
    436450
    437       JobData serializedJob = new JobData() {
     451      JobData jobData = new JobData() {
    438452        JobId = job.Id,
    439453        Data = jobByteArray
    440454      };
    441455
    442       return serializedJob;
     456      return jobData;
    443457    }
    444458
     
    447461    /// </summary>
    448462    private void UpdateRequiredPlugins() {
    449       //this.Job.PluginsNeeded = HivePluginInfoDto.FindPluginsNeeded(optimizerJob.GetType());
    450       throw new NotImplementedException();
     463      List<Guid> pluginList = new List<Guid>();
     464
     465      IEnumerable<IPluginDescription> neededPlugins = ApplicationManager.Manager.Plugins; //HivePluginInfoDto.FindPluginsNeeded(optimizerJob.GetType());
     466      using (var service = ServiceLocator.Instance.ServicePool.GetService()) {
     467        IEnumerable<Plugin> availablePlugins = service.Obj.GetAvailablePlugins();
     468        foreach (IPluginDescription neededPlugin in neededPlugins) {
     469          Plugin found = availablePlugins.Where(availablePlugin => availablePlugin.Name == neededPlugin.Name && availablePlugin.Version.Major == neededPlugin.Version.Major && availablePlugin.Version.Minor == neededPlugin.Version.Minor && availablePlugin.Version.Revision == neededPlugin.Version.Revision && availablePlugin.Version.MinorRevision == neededPlugin.Version.MinorRevision).SingleOrDefault();
     470          if (found != null) {
     471            pluginList.Add(found.Id);
     472          } else {
     473            Plugin p = new Plugin() { Name = neededPlugin.Name, Version = neededPlugin.Version };
     474            List<PluginData> pluginDatas = new List<PluginData>();
     475
     476            foreach (IPluginFile pf in neededPlugin.Files) {
     477              PluginData pluginData = new PluginData();
     478
     479              pluginData.Data = File.ReadAllBytes(pf.Name);
     480              pluginDatas.Add(pluginData);
     481            }
     482            pluginList.Add(service.Obj.AddPlugin(p, pluginDatas));
     483          }         
     484        }
     485      }
     486      this.Job.PluginsNeededIds = pluginList;
    451487    }
    452488
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/Properties/Settings.Designer.cs

    r4629 r4905  
    1414    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    1515    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
    16     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
     16    public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
    1717       
    1818        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/ServiceLocator.cs

    r4629 r4905  
    2424
    2525namespace HeuristicLab.Clients.Hive {
    26   internal class ServiceLocator {
     26  public class ServiceLocator {
    2727    private static ServiceLocator instance = null;
    2828    private ServiceClientFactory<IHiveService> serviceFactory = null;
     
    5151      get {
    5252        if (serviceFactory == null) {
    53           serviceFactory = new ServiceClientFactory<IHiveService>(Settings.Default.HiveUsername, Settings.Default.HivePassword, "TcpEndpoint");
     53          serviceFactory = new ServiceClientFactory<IHiveService>(Settings.Default.HiveUsername, Settings.Default.HivePassword, "wsHttpBinding_IHiveService");
    5454        }
    5555        return serviceFactory;
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/app.config

    r4649 r4905  
    44        <bindings>
    55            <wsHttpBinding>
    6                 <binding name="HttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
    7                     receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
    8                     transactionFlow="false" hostNameComparisonMode="StrongWildcard"
    9                     maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
    10                     messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
    11                     allowCookies="false">
    12                     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
    13                         maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    14                     <reliableSession ordered="true" inactivityTimeout="00:10:00"
    15                         enabled="false" />
    16                     <security mode="Message">
    17                         <transport clientCredentialType="Windows" proxyCredentialType="None"
    18                             realm="" />
    19                         <message clientCredentialType="Windows" negotiateServiceCredential="true"
    20                             algorithmSuite="Default" />
    21                     </security>
     6                <binding name="wsHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
     7                  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 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>
    2213                </binding>
    23             </wsHttpBinding>
    24         </bindings>
     14              </wsHttpBinding>
     15            </bindings>
    2516        <client>
    26             <endpoint address="http://localhost:9000/HiveService" binding="wsHttpBinding"
    27                 bindingConfiguration="HttpBinding" contract="HeuristicLab.Clients.Hive.IHiveService"
    28                 name="HttpBinding">
    29                 <identity>
    30                     <userPrincipalName value="S0920454044@hagenberg.fhooe.at" />
    31                 </identity>
     17            <endpoint address="http://localhost:9000/Hive-3.3" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding" contract="HeuristicLab.Services.Hive.Common.ServiceContracts.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>
    3221            </endpoint>
    3322        </client>
Note: See TracChangeset for help on using the changeset viewer.