public static ICoreService GetClient(Environment environment) { Uri cmUri = new Uri(environment.CMSUrl); if (_clientInstance == null) { var binding = GetBinding(cmUri.Scheme == "https"); var endpoint = _version; CoreServiceClient coreServiceClient = new CoreServiceClient((Binding)binding, new EndpointAddress($"{cmUri.Scheme}://{cmUri.Host}:{cmUri.Port}/webservices/CoreService{_version}.svc/basicHttp")); if (!string.IsNullOrEmpty(environment.Username) && !string.IsNullOrEmpty(environment.Password)) { ((ClientBase <ICoreService>)coreServiceClient).ClientCredentials.Windows.ClientCredential.UserName = environment.Username; ((ClientBase <ICoreService>)coreServiceClient).ClientCredentials.Windows.ClientCredential.Password = environment.Password; } if (!string.IsNullOrEmpty(environment.UserDomain)) { ((ClientBase <ICoreService>)coreServiceClient).ClientCredentials.Windows.ClientCredential.Domain = string.IsNullOrEmpty(environment.UserDomain) ? "." : environment.UserDomain; } _clientInstance = coreServiceClient; } return(_clientInstance); }
public static void SetEnvironment(Environment environment) { _environment = environment; }