[英]Convert c# binding object based on the system.ServiceModel
Can anybody help me create a binding object in C# based on the configuration provided below. 谁能帮助我根据下面提供的配置在C#中创建绑定对象。 This is copied from app.config of the project where my wcf service is referenced.
这是从引用我的wcf服务的项目的app.config中复制的。
<system.serviceModel>
<bindings>
<customBinding>
<binding name="BindingName">
<security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport"
requireDerivedKeys="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
<localClientSettings detectReplays="false" />
<localServiceSettings detectReplays="false" />
</security>
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://example.com/test.svc"
binding="customBinding" bindingConfiguration="BindingName"
contract="Service.IService" name="BindingName" />
</client>
</system.serviceModel>
Try this 尝试这个
var config = new BindingElementCollection();
TransportSecurityBindingElement transportSecurityBindingElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
transportSecurityBindingElement.IncludeTimestamp = true;
transportSecurityBindingElement.MessageSecurityVersion =
MessageSecurityVersion
.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10;
transportSecurityBindingElement.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Default;
transportSecurityBindingElement.LocalClientSettings.DetectReplays = false;
transportSecurityBindingElement.LocalServiceSettings.DetectReplays = false;
transportSecurityBindingElement.SetKeyDerivation(true);
config.Add(transportSecurityBindingElement);
config.Add(new TextMessageEncodingBindingElement(MessageVersion.Soap12, Encoding.UTF8));
config.Add(new HttpsTransportBindingElement());
return new CustomBinding(config);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.