日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
教你使用WCF框架

框架其實就是一種規(guī)范的流程,它可以讓我們的流程很清晰,代碼更規(guī)范。下面我們就來介紹一下WCF框架中發(fā)布-訂閱的實現(xiàn)流程。我并不只是提供了發(fā)布-訂閱服務(wù)以及客戶端的實例,而且還提供了一個通用的框架,能夠自動實現(xiàn)發(fā)布-訂閱服務(wù),以及增加對所有應(yīng)用程序的支持。若要構(gòu)建這樣的框架,首先需要分解管理發(fā)布-訂閱的接口,然后為臨時訂閱和持久訂閱以及發(fā)布提供單獨的契約。

#T#WCF框架閱者類型

我們甚至可以定義兩種類型的訂閱者:臨時訂閱者是在內(nèi)存中運行的訂閱者;持久訂閱者則是持久化到磁盤的訂閱者,它們代表了服務(wù)對發(fā)生事件的調(diào)用時間。對于臨時訂閱者,可以使用雙向回調(diào)機制,通過它將回調(diào)引用傳遞到正在運行的服務(wù)。持久訂閱者則需要將訂閱者地址當作引用進行記錄。當事件發(fā)生時,發(fā)布服務(wù)會調(diào)用持久訂閱者的地址,然后將事件傳遞給它。兩種訂閱類型還有另外一個顯著區(qū)別,就是我們可以將持久訂閱者存儲在磁盤或數(shù)據(jù)庫中。這樣就能夠在關(guān)閉應(yīng)用程序或機器崩潰或重啟的時候,持久化訂閱者。這一過程允許以管理方式對訂閱進行配置。顯然,在關(guān)閉應(yīng)用程序時,我們不能存儲臨時訂閱,而需要在每次應(yīng)用程序啟動時,明確地創(chuàng)建臨時訂閱。

WCF框架管理臨時訂閱

可以使用我定義的ISubscriptionService接口管理臨時訂閱,定義如例所示。例 管理臨時訂閱者的ISubscriptionService接口

 
 
  1. [ServiceContract] 
  2. public interface ISubscriptionService 
  3. [OperationContract] 
  4. void Subscribe(string eventOperation); 
  5. [OperationContract] 
  6. void Unsubscribe(string eventOperation); 

注意,ISubscriptionService接口無法識別實現(xiàn)了它所期待的終結(jié)點的回調(diào)契約。作為一個通用的接口,它與特定的回調(diào)契約無關(guān)。定義這些回調(diào)契約取決于如何使用應(yīng)用程序。通過繼承ISubscriptionService接口,可以在應(yīng)用程序中提供回調(diào)接口,并指定所需的回調(diào)契約:

 
 
  1. interface IMyEvents 
  2. [OperationContract(IsOneWay = true)] 
  3. void OnEvent1( ); 
  4. [OperationContract(IsOneWay = true)] 
  5. void OnEvent2(int number); 
  6. [OperationContract(IsOneWay = true)] 
  7. void OnEvent3(int number,string text); 
  8. [ServiceContract(CallbackContract = typeof(IMyEvents))] 
  9. interface IMySubscriptionService : ISubscriptionService 
  10. {} 

網(wǎng)頁題目:教你使用WCF框架
網(wǎng)頁URL:http://www.5511xx.com/article/djddjjp.html