我目前正在研究將通過WCF和WCF數據服務通過互聯網與數據庫進行通信的C#.NET桌面應用程序。應用程序中會有許多點需要在一段時間內刷新。最簡單的解決方案是將這些區域放在計時器上並重新查詢數據庫。但是,有數千個客戶端連接到服務層和數據庫,這些操作對於服務器來說是非常昂貴的。良好的C#.NET解決方案來管理頻繁的數據庫輪詢
我所考慮的是創建一個由客戶端輪詢的RSS源,並讓客戶知道何時需要更新這些特定區域。 RSS提要將由一個服務管理,該服務可以輪詢數據庫以進行更改,或者遍歷由客戶端發出的WCF請求排隊的項目列表。
我也考慮過創建一些從客戶端到服務器的直接和連續的連接,但我不確定從客戶端打開哪些出站防火牆端口。我可能只能指望端口80/443。
所以我的問題是有什麼解決方案有人成功實施解決這個問題?有人完成RSS?微軟同步服務?客戶端和服務器之間通過WCF通過一些保存端口進行雙向通信?
任何想法,不勝感激。
+1,但我擔心使用長輪詢的數千客戶端。一些環境優化對於開放連接可能是必需的。我從來沒有這樣做過WCF,所以我不能評論困難/積極因素。 – marr75 2010-12-07 16:23:42
+1你知道C#中使用WCF的任何長輪詢實現嗎?我已經使用了它,並沒有拿出任何好的例子。 – BernicusMaximus 2010-12-07 19:56:37