internal virtual T WithProxy <T>(IKernel kernel, Func <GetDataSoap, T> client) { if (kernel == null) { throw new ArgumentNullException(nameof(kernel)); } Uri uri = GetWebServiceUri(kernel); HttpBindingBase binding = CreateBinding($"PerfionService.{GetType().Name}", uri, kernel); ConfigureBinding(binding, kernel); GetDataSoapClient proxy = new GetDataSoapClient(binding, new EndpointAddress(uri)); ConfigureClientCredentials(proxy.ClientCredentials, kernel); try { return(client(proxy)); } finally { try { proxy.Close(); } catch { proxy.Abort(); throw; } } }
public GetDataSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : base(GetDataSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
public GetDataSoapClient(EndpointConfiguration endpointConfiguration) : base(GetDataSoapClient.GetBindingForEndpoint(endpointConfiguration), GetDataSoapClient.GetEndpointAddress(endpointConfiguration)) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }