我正面臨有關在會話實例化模式下託管WCF的情況。我正在封裝實際情況並提出一個示例來複制它......如下所示。WCF會話實例化模式主機問題
要託管的服務是「我的服務」。我正在使用Windows服務來託管它..使用http端點。
它需要支持500個併發會話(Singleton &無法完成Percall,因爲合同是基於工作流的...... Login ... Function1,Function2,Logout ..)
我有4個服務器,每個服務器都具有硬件功能支持200個併發會話。
因此,我在一臺服務器上將服務配置爲具有託管路徑(例如「http:// myserver/MyService」)的路由器(ServiceHost S = new ServiceHost(RouterService))。我已經設置了一個簡單的負載均衡機制,並應用路由器表將輸入請求重定向到其他三個服務器,其中託管實際服務副本......(「http:// myserver/MyService1」,「http:// myserver/MyService2 「,」http:// myserver/MyService3「)
它仍然不能正常工作...一旦命中超過200 ...通信錯誤開始...我想因爲當進行500個併發呼叫時,那麼路由器(功能200)也需要與實際服務服務器一起保持連接到客戶端......(在會話呼叫模式下)。我的想法是否正確?
我的問題是...
1)是我的做法正確,或從概念有缺陷的......我應該問硬件團隊建立NLB ...
2)我們應該特別重新設計合同以確保這些請求可以以某種方式進行PerCall ...
3)有人建議這樣的系統應該託管在雲(Windows Azure)上......需要考慮涉及的成本......但它是否正確..
4)託管WCF處理基於會話的呼叫時涉及的最佳實踐是什麼。
我明白我的問題很複雜,不會有一個「正確」的答案......但任何幫助和洞察力將非常感激。
感謝