本文整理汇总了C#中WebChannelFactory.Close方法的典型用法代码示例。如果您正苦于以下问题:C# WebChannelFactory.Close方法的具体用法?C# WebChannelFactory.Close怎么用?C# WebChannelFactory.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebChannelFactory
的用法示例。
在下文中一共展示了WebChannelFactory.Close方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateChannel
public IAzureServiceManagement CreateChannel()
{
// long lock, but should in practice never be accessed
// from two threads anyway (just a safeguard) and this way
// we avoid multiple sync monitor enters per call
lock (_sync)
{
if (_factory != null)
{
switch (_factory.State)
{
case CommunicationState.Closed:
case CommunicationState.Closing:
// TODO: consider reusing the factory
_factory = null;
break;
case CommunicationState.Faulted:
_factory.Close();
_factory = null;
break;
}
}
if (_factory == null)
{
var binding = new WebHttpBinding(WebHttpSecurityMode.Transport);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
_factory = new WebChannelFactory<IAzureServiceManagement>(binding, new Uri(ApiConstants.ServiceEndpoint));
_factory.Endpoint.Behaviors.Add(new ClientOutputMessageInspector());
_factory.Credentials.ClientCertificate.Certificate = _certificate;
}
return _factory.CreateChannel();
}
}