2012-05-20 44 views
1

我有一個服務合同遵循WCF的ChannelFactory和OperationBehavior

[ServiceContract] 
public interface IService 
{ 
    [MyCustomBehavior] 
    [OperationContract] 
    void MyOperation(); 
} 

的問題是,是否

呼叫
new ChannelFactory<IService>(myBinding, myUri) 

呼叫之前將隱式添加MyCustomBehavior,僅僅憑藉我傳遞IService到ChannelFactory還是需要深入挖掘並明確地將MyCustomBehavior設置爲MyOperation操作?

回答

1

操作行爲

操作行爲,這實現IOperationBehavior接口, 用於擴展既每個 操作的客戶端和服務的運行時間。

有兩種機制可以將操作行爲添加到 操作中。第一種機制是在模擬操作的方法上創建一個自定義屬性 。當操作被添加到ServiceHost或ChannelFactory的 時,WCF會將所有 IOperationBehavior屬性添加到爲該操作創建的OperationDescription上的行爲集合中。

第二種機制是直接將行爲添加到構造的OperationDescription上的 行爲集合中。

我建議您先閱讀本文。

Configuring and Extending the Runtime with Behaviors

+0

聽起來不錯謝謝。 – Alwyn

相關問題