WCF托管特性ICommunicationObject接口實(shí)現(xiàn)
我們?cè)趯W(xué)習(xí)中要不斷的總結(jié)經(jīng)驗(yàn),對(duì)于一些特性我們應(yīng)該經(jīng)常做總結(jié),在里就WCF托管特性概要分析一下。在ServiceHost實(shí)現(xiàn)的ICommunicationObject接口定義了一些高級(jí)特性,如例所示。
WCF托管特性ICommunicationObject接口
- public interface ICommunicationObject
- {
- void Open();
- void Close();
- void Abort();
- event EventHandler Closed;
- event EventHandler Closing;
- event EventHandler Faulted;
- event EventHandler Opened;
- event EventHandler Opening;
- IAsyncResult BeginClose(AsyncCallback callback,object state);
- IAsyncResult BeginOpen(AsyncCallback callback,object state);
- void EndClose(IAsyncResult result);
- void EndOpen(IAsyncResult result);
- CommunicationState State
- {get;}
- //更多成員
- }
- public enum CommunicationState
- {
- Created,
- Opening,
- Opened,
- Closing,
- Closed,
- Faulted
- }
#T#如果打開(kāi)或關(guān)閉宿主的操作耗時(shí)較長(zhǎng),可以采用異步方式調(diào)用BeginOpen()和BeginClose()方法。我們可以訂閱諸如狀態(tài)改變或錯(cuò)誤發(fā)生等宿主事件,通過(guò)調(diào)用State屬性查詢當(dāng)前的宿主狀態(tài)ServiceHost類同樣實(shí)現(xiàn)了Abort()方法。該方法提供強(qiáng)行退出功能,能夠及時(shí)中斷進(jìn)程中的所有服務(wù)調(diào)用,然后關(guān)閉宿主。此時(shí),活動(dòng)的客戶端會(huì)獲得一個(gè)異常。以上就是一個(gè)關(guān)于WCF托管特性的一個(gè)列舉,希望大家在以后的學(xué)習(xí)中累計(jì)。