2010-05-06 64 views
0

我正在開發使用asp.net mvc,wf-wcf服務和普通wcf的企業應用程序。我想使用非託管異常的獨特視角,我的問題是將ELFH與wf-wcf服務集成在一起。問題是,在wf-wcf中,我無法用elmah屬性修飾di類,所以如果可以的話,我使用web.config。 有人可以幫助我嗎? (這裏是如何使用WCF使用屬性Exception Logging for WCF Services using ELMAH整合ELMAH討論)是否可以使用web.config將elmah與wf-wcf服務集成?

在此先感謝 F.

回答

1

有趣的是,以前沒有想到的是,作爲ELMAH是網站一個真棒插件。

同樣的方法應該適用於WF服務。在配置文件中添加ServiceErrorBehaviourAttribute的方法是使用BehaviorExtensionElement。下面的代碼應該做的伎倆

public class ServiceErrorBehaviourElement : BehaviorExtensionElement { 
    public override Type BehaviorType { 
     get { return typeof(ServiceErrorBehaviourAttribute); } 
    } 

    protected override object CreateBehavior() { 
     return new ServiceErrorBehaviourAttribute(); 
    } 
} 

註冊類型的behaviorExtensions,您可以行爲對您工作的服務serviceBehaviors元素。

+0

它的工作原理只有在例外情況是,當持久存儲被禁止提出(換句話說沒有AppFabric的)。否則可能是因爲工作流「忘記」在wcf中託管並且具有上下文以使行爲不起作用不會觸發 – tartafe 2010-05-07 11:22:51

+0

不確定我明白,IErrorHandler是WCF調用堆棧的一部分,並且僅在WCF消息中發揮作用。你的意思是說,當WCF消息導致工作流程從商店加載時,它不會捕獲錯誤?或者您是否在工作流程使用壽命的某個其他時間引用錯誤? – Maurice 2010-05-07 18:49:37

+0

問題是,當WCF消息導致工作流程從商店加載時,它不會捕獲錯誤(對於我可憐的英語感到抱歉)。 – tartafe 2010-05-10 08:12:00

相關問題