我想要实现一个WCF服务,该服务会立即响应调用者,但会排队等待稍后处理的异步作业。做这件事的最好方法是什么?我已阅读how to implement an asynchronous service operation上的MSDN文章,但该解决方案似乎仍然需要完成任务才能响应调用者。如何创建异步WCF服务
2
A
回答
1
有很多方法可以完成此操作,具体取决于您想要执行的操作以及您正在使用的技术(例如,除非您使用silverlight,否则您可能不需要让应用程序异步调用该服务)实现你的目标将是让你的服务方法启动一个线程来执行大量的处理并立即返回。
另一种方法是创建某种请求(例如,在某种数据存储中创建条目)并返回。另一个过程(例如,Windows服务等)可以接收请求并执行处理。
1
任何WCF服务可以由异步 -
一个有关WCF的好处之一是,你可以写同步服务。当您在客户端添加ServiceReference时,您可以选择生成异步方法。
这会自动使服务调用异步。该服务完成后将返回,但客户端将获得两种方法 - BeginXXX和EndXXX,以及XXXAsync +一个XXXCompleted事件,它们都允许完全异步操作。
+0
这里的问题是我不控制客户端代码。客户端实际上创建了我的WCF服务必须遵守的接口,并且从我所知道的情况来看,他们只是想将消息发送到我的WCF服务并立即响应。然后,当我的服务器成功处理了初始请求时,他们希望它发送一个单独的请求到他们的最后。 实质上,他们希望我的WCF服务异步工作,而不是更改其客户端代码以异步调用我的服务。 –
相关问题
- 1. WCF服务 - 异步如何?
- 2. WCF服务异步/同步
- 3. 创建异步Web服务
- 4. 如何异步调用wcf服务
- 5. 2异步WCF服务
- 6. 异步WCF服务超时
- 7. 实现异步WCF服务
- 8. WCF服务:MaxReceivedMessageSize(异步)
- 9. 异步调用wcf 4.5 WCF服务
- 10. 不使用服务引用创建异步WCF客户端
- 11. 创建一个异步 - 单线程WCF服务
- 12. WCF异步客户端调用WCF异步服务
- 13. 客户端异步WCF Vs服务器端异步WCF
- 14. WCF服务创建
- 15. 创建WCF服务
- 16. WCF服务创建
- 17. 如何为同步服务实现异步wcf客户端
- 18. WCF服务调用异步其他WCF服务
- 19. 如何创建一个WCF服务
- 20. 如何为WCF Web服务创建ArrayOfString?
- 21. 如何使用Mono创建WCF服务?
- 22. 如何为WCF服务创建全局异常处理程序?
- 23. 客户端异步调用WCF服务
- 24. AppFabric异步WCF服务持续时间
- 25. WCF服务器 - 异步方法
- 26. 在异步WCF服务中使用CCR
- 27. WCF异步服务器端处理
- 28. 异步WCF Web服务负载测试
- 29. 异步调用WCF服务在Application_Exit
- 30. 异步客户端服务器WCF
如果是提交和遗忘操作,则可能需要执行线程或委托,并在Web服务请求立即完成时运行该操作。 但问题是:当流程完成后,您是否需要通知客户?这就是当事情变得棘手时,因为这需要服务订阅或轮询客户端轮询来检查作业状态。以下可能会有所帮助:http://stackoverflow.com/questions/1537302/subscribe-to-events-within-a-wcf-service –
@RickStrahl当流程完成时,我确实需要通知客户。但是,他们有一套自己的WCF服务,我可以将这些结果发布到。听起来好像使用代理是最简单的方法。 –