自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

教你使用WCF框架

開發(fā) 后端
隨著WCF的發(fā)展,WCF框架也在隨之壯大,這里就發(fā)布-訂閱服務(wù)框架和大家展開分析討論,希望大家看過本文會(huì)有技術(shù)上的提高。

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

#T#WCF框架閱者類型

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

WCF框架管理臨時(shí)訂閱

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

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

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

  1. interface IMyEvents   
  2. {   
  3. [OperationContract(IsOneWay = true)]   
  4. void OnEvent1( );   
  5.  
  6. [OperationContract(IsOneWay = true)]   
  7. void OnEvent2(int number);   
  8. [OperationContract(IsOneWay = true)]   
  9. void OnEvent3(int number,string text);   
  10. }   
  11.  
  12. [ServiceContract(CallbackContract = typeof(IMyEvents))]   
  13. interface IMySubscriptionService : ISubscriptionService   
  14. {}   
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-05 10:30:41

WCF Address

2009-11-09 12:30:23

WCF生成代理

2009-12-07 17:46:52

WCF框架

2009-11-06 09:30:35

WCF服務(wù)框架

2009-11-06 16:59:26

WCF性能計(jì)數(shù)器

2009-11-06 09:48:40

WCF服務(wù)

2009-11-09 14:57:37

WCF上傳文件

2009-11-06 14:33:27

WCF代理節(jié)點(diǎn)

2009-12-07 18:06:46

WCF框架

2009-12-07 14:51:57

WCF框架

2009-12-07 10:46:08

WCF框架

2009-12-07 18:43:29

WCF框架

2010-03-02 16:09:53

WCF框架

2009-11-05 11:23:08

WCF宿主

2009-11-05 09:43:11

WCF好處

2009-11-06 16:13:45

WCF回調(diào)

2009-11-05 11:12:21

WCF自宿主

2011-04-28 09:23:36

REST

2009-12-07 13:42:24

WCF框架

2009-03-16 09:16:13

行為擴(kuò)展WCF.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)