我正在創建一個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