使用webHttp行为的ChannelFactory.CreateChannel来实现WCF

3

我有一个简单的基于REST的服务,我想使用ChannelFactory创建客户端代理。我希望不使用配置文件,所以我试图在代码中完成这个过程,我相信我已经将所有原来在.config文件中的内容都转移到了代码中,除了behavior。请问有人可以告诉我如何将此配置导入到C#代码中吗:

  <behaviors>
   <endpointBehaviors>
    <behavior name="InitBehavior">
     <webHttp />
    </behavior>
   </endpointBehaviors>
  </behaviors>

这是我现在拥有的简化C#代码:

var endpoint = new EndpointAddress(urlCommServer);
var binding = new WebHttpBinding();
return ChannelFactory<IInitialization>.CreateChannel(binding, endpoint);
1个回答

12

试一下这个。你需要将这个行为添加到ChannelFactory中。

var factory = new ChannelFactory<IInitialization>(binding, endpoint);
var behavior = new WebHttpBehavior();
factory.Endpoint.Behaviors.Add(behavior);
var channel = factory.CreateChannel();


谢谢 Kirk。我还发现了WebChannelFactory<T>,它为我添加了正确的绑定和行为。 - BrettRobi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接