WCF托管特性ICommunicationObject接口實現
我們在學習中要不斷的總結經驗,對于一些特性我們應該經常做總結,在里就WCF托管特性概要分析一下。在ServiceHost實現的ICommunicationObject接口定義了一些高級特性,如例所示。
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#如果打開或關閉宿主的操作耗時較長,可以采用異步方式調用BeginOpen()和BeginClose()方法。我們可以訂閱諸如狀態改變或錯誤發生等宿主事件,通過調用State屬性查詢當前的宿主狀態ServiceHost類同樣實現了Abort()方法。該方法提供強行退出功能,能夠及時中斷進程中的所有服務調用,然后關閉宿主。此時,活動的客戶端會獲得一個異常。以上就是一個關于WCF托管特性的一個列舉,希望大家在以后的學習中累計。