Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Hive.Server.Console/3.2/ServiceLocator.cs @ 2636

Last change on this file since 2636 was 2118, checked in by aleitner, 15 years ago

change comments, delete manual login-data (#569)

File size: 1.4 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6using HeuristicLab.Hive.Contracts.Interfaces;
7using System.ServiceModel;
8using HeuristicLab.Hive.Contracts;
9
10namespace HeuristicLab.Hive.Server.ServerConsole {
11  internal class ServiceLocator {
12    private static IServerConsoleFacade serverConsoleFacade = null;
13
14    internal static string Address { get; set; }
15    internal static string Port { get; set; }
16
17    internal static IClientManager GetClientManager() {
18      return GetServerConsoleFacade() as IClientManager;
19    }
20
21    internal static IJobManager GetJobManager() {
22      return GetServerConsoleFacade() as IJobManager;
23    }
24
25    internal static IServerConsoleFacade GetServerConsoleFacade() {
26      if (serverConsoleFacade == null &&
27        Address != String.Empty &&
28        Port != String.Empty) {
29
30        ChannelFactory<IServerConsoleFacade> factory =
31          new ChannelFactory<IServerConsoleFacade>(
32            WcfSettings.GetBinding(),
33            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/ServerConsoleFacade"));
34                         
35        serverConsoleFacade = factory.CreateChannel();
36      }
37     
38      return serverConsoleFacade;
39    }
40
41    internal static void ShutDownFacade() {
42      serverConsoleFacade = null;
43    }
44  }
45}
Note: See TracBrowser for help on using the repository browser.