您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么使用WCF框架”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么使用WCF框架”這篇文章吧。
框架其實就是一種規范的流程,它可以讓我們的流程很清晰,代碼更規范。下面我們就來介紹一下WCF框架中發布-訂閱的實現流程。我并不只是提供了發布-訂閱服務以及客戶端的實例,而且還提供了一個通用的框架,能夠自動實現發布-訂閱服務,以及增加對所有應用程序的支持。若要構建這樣的框架,首先需要分解管理發布-訂閱的接口,然后為臨時訂閱和持久訂閱以及發布提供單獨的契約。
WCF框架閱者類型
我們甚至可以定義兩種類型的訂閱者:臨時訂閱者是在內存中運行的訂閱者;持久訂閱者則是持久化到磁盤的訂閱者,它們代表了服務對發生事件的調用時間。對于臨時訂閱者,可以使用雙向回調機制,通過它將回調引用傳遞到正在運行的服務。持久訂閱者則需要將訂閱者地址當作引用進行記錄。當事件發生時,發布服務會調用持久訂閱者的地址,然后將事件傳遞給它。兩種訂閱類型還有另外一個顯著區別,就是我們可以將持久訂閱者存儲在磁盤或數據庫中。這樣就能夠在關閉應用程序或機器崩潰或重啟的時候,持久化訂閱者。這一過程允許以管理方式對訂閱進行配置。顯然,在關閉應用程序時,我們不能存儲臨時訂閱,而需要在每次應用程序啟動時,明確地創建臨時訂閱。
WCF框架管理臨時訂閱
可以使用我定義的ISubscriptionService接口管理臨時訂閱,定義如例所示。例 管理臨時訂閱者的ISubscriptionService接口
[ServiceContract] public interface ISubscriptionService { [OperationContract] void Subscribe(string eventOperation); [OperationContract] void Unsubscribe(string eventOperation); }
注意,ISubscriptionService接口無法識別實現了它所期待的終結點的回調契約。作為一個通用的接口,它與特定的回調契約無關。定義這些回調契約取決于如何使用應用程序。通過繼承ISubscriptionService接口,可以在應用程序中提供回調接口,并指定所需的回調契約:
interface IMyEvents { [OperationContract(IsOneWay = true)] void OnEvent1( ); [OperationContract(IsOneWay = true)] void OnEvent2(int number); [OperationContract(IsOneWay = true)] void OnEvent3(int number,string text); } [ServiceContract(CallbackContract = typeof(IMyEvents))] interface IMySubscriptionService : ISubscriptionService {}
以上是“怎么使用WCF框架”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。