Visual Studio 没有为我的 PollingDuplex 代理创建构造函数。WCF 客户端应有 8 个构造函数,其构造函数包括 HttpPollingDuplexBinding 对象和终结点地址。但是只有 5 个重载,客户端没有回调方法。如何解决此问题?
var address = new EndpointAddress("http://"
+ App.Current.Host.Source.DnsSafeHost
+ ":"
+ App.Current.Host.Source.Port.ToString(CultureInfo.InvariantCulture)
+ "/PService.svc");
return new ServiceClient(binding, address);
这是此处提到的已知问题
http://blogs.msdn.com/b/silverlightws/archive/2010/04/04/some-known-wcf-issues-in-silverlight-4.aspx
但仍然不能产生所有的构造函数。虽然我相信这可能是面临这个问题的人的答案。
编辑:
很奇怪。
[ServiceContract]
public interface IMyCallback
{
[OperationContract(IsOneWay = true, AsyncPattern = true)]
IAsyncResult BeginNotify(Message message, AsyncCallback callback, object state);
void EndNotify(IAsyncResult result);
[OperationContract(IsOneWay = true)]
void OnX();
}
工作正常。但是这个
[ServiceContract]
public interface IPokerClient
{
[OperationContract(IsOneWay = true)]
void OnX();
[OperationContract(IsOneWay = true, AsyncPattern = true)]
IAsyncResult BeginNotify(Message message, AsyncCallback callback, object state);
void EndNotify(IAsyncResult result);
}
在这里工作不正常。我不知道,但我只改变这个并获得带有回调函数的代理。