我正在创建一个wcf web服务,它将接受许多连续的请求,web服务将需要保持这些请求,直到内部应用程序(这将轮询Web服务每隔几秒钟)将向Web服务发出请求,以确定是否存在任何请求,如果存在则检索它们。然后内部应用程序会将响应发送回Web服务,该服务会将响应传递回初始调用者。客户端和内部应用程序设计之间的Web服务中介
IE:
客户端--- 1)请求---> Web服务< --- 2)请求---内部应用程序
客户< --4)响应---网络服务< --- 3)响应---内部应用程序
我试图设计Web服务的实现,并试图想办法来实现接受请求的机制,坚持下去直到内部应用程序发出数据请求并且web服务等待来自内部的响应l应用程序。
我的主要问题是:
1)如果成千上万的请求进来的内部应用程序发出请求之前,又该如何进行?
2)如果内部应用程序死亡和大量请求建立起来怎么办? (我将需要不得不超时这些请求)
3)我如何连接初始请求与客户端和内部应用程序的响应?
4)客户将等待回复。
在这种情况下WCF消息队列会有帮助吗? Web服务是否可以在内部管理Message Queue,如在Web服务中发送消息时将消息添加到队列中一样,当内部应用程序发出请求时,Web服务从顶部抓取消息队列并将其传递给内部应用程序并等待来自内部应用程序的响应并将其传回给客户端?
这是可能的吗?
如果2000个客户端请求同时进入,由于客户端会同步等待响应,上述场景会起作用吗?我能否将原始请求与来自内部应用程序线程的响应进行匹配,以将响应提供给客户端?
消息队列方法看起来是否过分?我可以在一些静态字典中保存请求吗?
您有任何其他建议吗?
感谢您的建议......这不是我的设计,我只是需要与它...或看看我是否可以推动改变它... 谢谢,有一个很好的。 – stevenrosscampbell 2009-02-10 21:22:44