我正在創建一個網絡遊戲應用程序,我正在嘗試利用WCF。最終,它將成爲點對點系統,但爲了開發目的,我已將應用程序拆分爲核心和播放器應用程序。這意味着WCF服務需要與主機和客戶端上的數據進行交互。所以我的問題是如何獲得服務與主機應用程序上的對象進行交互。如果我將ServiceBehaviour屬性的InstanceContextMode設置爲InstanceContextMode.Single,那麼我可以將一個類實例傳遞給ServiceHost構造函數,然後可以與Host對象進行交互,但是如何在將類類型傳遞給ServiceHost構造函數時執行此操作,如果我使用PerCall或PerSession InstanceContextMode,則必須執行此操作。與WCF服務中的主機對象進行交互
WCF服務的所有簡單示例都使用諸如計算器之類的東西。使用Calculator示例,您可以通過類/接口的方法參數從客戶端傳遞數據,並且不需要與主機上的任何對象進行交互。我是否使用錯誤的工具來完成這項工作?
我看着在早期的雙工通信。我還沒有弄清楚,如果他們比設立兩項服務更好,每個方向一項。但是,從主機訪問數據的相同限制適用於Duplex服務嗎? –
在客戶端上使用全雙工與主機服務的方式是一個問題(注意 - 如果您必須處理NAT和防火牆,則需要全雙工)。但無論如何,你將不得不在服務器端訪問一些共享狀態。一種方法是公開某種單例服務器實例,並讓服務方法訪問該單例實例。我已經用一種方法更新了我的答案。 – RQDQ