如何在C#中执行长轮询客户端?
作者:互联网
我有一个C#桌面应用程序,并且使用了一个没有问题的Web服务(由“添加服务引用”添加的wsdl,因此我创建了一个对象并调用其函数).
现在,我想使用长轮询技术,但是我无法从客户的角度来思考如何做到这一点.
如何配置超时时间?
我应该使用专用于此的线程吗?
有C#桌面应用程序的示例吗? (尚未找到)
谢谢,
大坝的
解决方法:
您应该能够在Web服务对象上配置超时-详细信息将完全取决于它使用的是哪个类,但请看示例WebClientProtocol.Timeout
.
现在,您既可以从专用线程同步调用它,也可以对Web服务开始进行异步调用,并在服务回复时指定要执行的回调(可能在线程池线程上).在这种情况下,您可能会发现可以在异步调用本身上指定超时-再次,这将完全取决于您拥有哪种Web服务代理类.
这样一来,您不需要等待等待的响应就“浪费”线程-但您可能会发现,异步编程模型比同步编程模型更难理解.如果您一次只能收到一个或两个这些请求,那么多余的两个线程就不太可能成为问题.如果您正在等待来自500个不同服务的响应,那将是另一回事,异步模型肯定是要走的路.
标签:client,wsdl,c,long-polling 来源: https://codeday.me/bug/20191024/1920066.html