Wcf 单向web服务仍然返回响应

Wcf 单向web服务仍然返回响应,wcf,web-services,Wcf,Web Services,如果我的术语不准确,我仍在深入学习 我正在创建一个web服务,作为Silverlight和XMPP之间的中介。为了启动所有这些,我创建了一个web服务调用,使我能够请求服务器代表我登录,其想法是服务器将登录,然后在完成后返回到我的客户端 我的想法基于本网站的代码: 现在的问题是,我创建的寄存器调用将使用异步调用登录到XMPP。但是寄存器调用本身也是不同步的。因此,我不知道web服务调用等待另一个服务的异步调用的最佳方式 我想做的是使注册成为单向调用,其思想是我的服务器将登录到XMPP,然后在登录

如果我的术语不准确,我仍在深入学习

我正在创建一个web服务,作为Silverlight和XMPP之间的中介。为了启动所有这些,我创建了一个web服务调用,使我能够请求服务器代表我登录,其想法是服务器将登录,然后在完成后返回到我的客户端

我的想法基于本网站的代码:

现在的问题是,我创建的寄存器调用将使用异步调用登录到XMPP。但是寄存器调用本身也是不同步的。因此,我不知道web服务调用等待另一个服务的异步调用的最佳方式

我想做的是使注册成为单向调用,其思想是我的服务器将登录到XMPP,然后在登录后推送客户端(或fileld等)


但是当我导入服务引用时,生成的类似乎有一个RegisterCompleted()调用,调试显示调用了该调用。但我认为单向意味着不调用响应,为什么呢?

单向意味着没有响应数据。Internet协议是一种请求-响应模型,其中存在对接收请求的确认。您的注册服务不返回任何数据(void),因此RegisterCompleted确实“完成了接受三个字符串参数的操作,并且没有返回任何数据”

这是一件好事——现在你知道如果你在开始注册时遇到了问题,或者一切都很好,那么一切照常进行,直到你收到服务器的回复。你还不知道你是否已经注册,这就是为什么你的客户端会继续轮询服务器,直到服务器做出响应——好的还是坏的


他的参考资料对使用PollingDuplexHttpBinding很有帮助。

谢谢你的回答。这对我的理解很有帮助
[OperationContract(IsOneWay = true)]
void Register(string name, string password, string nickname);