【发布时间】:2011-10-21 03:30:03
【问题描述】:
我添加了一个对 Silverlight 应用程序的 WCF 服务引用,这就是我所拥有的来自 web.config 的绑定的样子
<bindings>
<wsDualHttpBinding>
<binding name="wsDualHttpBinding">
<security mode="None" />
</binding>
</wsDualHttpBinding>
<pollingDuplexHttpBinding>
<binding name="multipleMessagesPerPollPollingDuplexHttpBinding"
duplexMode="MultipleMessagesPerPoll" />
</pollingDuplexHttpBinding>
</bindings>
我有这个 sn-p 来创建一个服务客户端实例
var serviceClient = new DuplexCallerIdServiceClient(
new PollingDuplexHttpBinding(PollingDuplexMode.MultipleMessagesPerPoll),
new EndpointAddress("http://localhost:51445/Service/MyService.svc"));
我担心的是为什么我必须在代码中提供绝对 URL。我有一个使用相同服务的 winforms 应用程序,我可以做 new DuplexCallerIdServiceClient() 来创建一个看起来很理想的服务客户端实例。有什么办法可以解决它。我无法更改绑定设置。
谢谢
【问题讨论】:
-
之所以可以不带参数调用服务客户端构造函数,是因为在app.config中指定了地址。如果您不喜欢 url 是绝对的,您可以使用相对 url,例如 '../MyService.svc'
标签: c# silverlight wcf silverlight-4.0 pollingduplexhttpbinding