Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/27/10 11:46:46 (14 years ago)
Author:
cneumuel
Message:

changed Slave.Core WCF-Proxy to stateless object

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/ServiceLocator.cs

    r4316 r4337  
    55using HeuristicLab.Hive.Slave.Communication.SlaveService;
    66using HeuristicLab.Hive.Contracts;
     7using System.ServiceModel;
     8using HeuristicLab.Hive.Slave.Communication.Properties;
     9using HeuristicLab.Tracing;
    710
    811namespace HeuristicLab.Hive.Slave.Communication {
    912  internal static class ServiceLocator {
    10     internal static SlaveFacadeClient CreateSlaveFacade(string hostAddress) {
     13    /// <summary>
     14    /// Cache of SlaveFacadeClients, to check if all get disposed
     15    /// </summary>
     16    private static List<ISlaveFacade> clientCache = new List<ISlaveFacade>();
     17
     18    internal static ISlaveFacade CreateSlaveFacade(string hostAddress) {
    1119      SlaveFacadeClient client = new SlaveFacadeClient("SlaveHttpEndpoint");
    1220      WcfSettings.SetEndpointAddress(client.Endpoint, hostAddress);
     21      SetCredentials(client);
     22      client.Open();
     23      clientCache.Add(client);
     24      Logger.Debug("Created SlaveFacadeClients. Currently existing SlaveFacadeClients: " + clientCache.Count);
    1325      return client;
    1426    }
    1527
    16     internal static SlaveFacadeClient CreateStreamedSlaveFacade(string hostAddress) {
     28    internal static ISlaveFacade CreateStreamedSlaveFacade(string hostAddress) {
    1729      SlaveFacadeClient client = new SlaveFacadeClient("SlaveTcpStreamedEndpoint");
    1830      WcfSettings.SetEndpointAddress(client.Endpoint, hostAddress);
     31      SetCredentials(client);
     32      client.Open();
     33      clientCache.Add(client);
     34      Logger.Debug("Created SlaveFacadeClients. Currently existing SlaveFacadeClients: " + clientCache.Count);
    1935      return client;
     36    }
     37
     38    private static void SetCredentials(SlaveFacadeClient client) {
     39      client.ClientCredentials.UserName.UserName = Settings.Default.HiveUsername;
     40      client.ClientCredentials.UserName.Password = Settings.Default.HivePassword;
     41    }
     42
     43    public static void DisposeSlaveClient(ISlaveFacade slaveFacade) {
     44      WcfSettings.DisposeWcfClient((ICommunicationObject)slaveFacade);
     45      clientCache.Remove(slaveFacade);
     46      Logger.Debug("Disposing SlaveFacadeClients. Currently existing SlaveFacadeClients: " + clientCache.Count);
    2047    }
    2148  }
Note: See TracChangeset for help on using the changeset viewer.