如何通过代码设置SoapProcessing

时间:2013-12-03 17:33:08

标签: c# wcf binding behavior

我正在尝试为端点禁用SoapProcessing(是的,它需要完成,不要问为什么,并且消息检查器不起作用):

MSDN docs for soapProcessing

但是,我发现的所有文档似乎都依赖于在应用程序的配置文件中设置此值。我正在为一个应用程序开发一个插件,它不允许我包含一个单独的配置文件,因此我必须通过代码设置端点和绑定以及所有这些:

// Create transport binding
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;

// Create client
MySyncPortClient _service = new MySyncPortClient(binding, new EndpointAddress("https://path/to/service"));
_service.ClientCredentials.UserName.UserName = "foo";
_service.ClientCredentials.UserName.Password = "bar";

// Set custom bindings
BindingElementCollection elements = _service.Endpoint.Binding.CreateBindingElements();
elements.Find<SecurityBindingElement>().IncludeTimestamp = false;
_service.Endpoint.Binding = new CustomBinding(elements);

// Perform a request
_service.DoSomething();

如果有人能指出我正确的方向,我会很感激。并不要粗鲁,但请不要建议使用配置文件。它-NEEDS-通过代码完成。如果你想要一个完整的解释,我可以单独提供一个。

1 个答案:

答案 0 :(得分:0)

关闭它 - 显然它无法完成。