asp.netのWebサービスは、グローバルな例外を捕捉し

グローバルな例外を捕捉していないIHttpHandを使用してWebサービスでは、この時間は、それを使用する必要がある   のSoapExtensionを

コードは以下の通りです

 

 パブリック クラスSoapExceptionHandler:System.Web.Services.Protocols.SoapExtension 
    { 
        公共 オーバーライド オブジェクトGetInitializer(タイプのServiceType)
        { 
            戻り ヌル
        } 

        公共 オーバーライド オブジェクトGetInitializer(System.Web.Services.Protocols.LogicalMethodInfo METHODINFO、System.Web.Services.Protocols.SoapExtensionAttribute属性)
        { 
            戻り ヌル
        } 

        公共 オーバーライド ボイド初期化(オブジェクト初期化子)
        { 
           
        } 

        公共 オーバーライド ボイドProcessMessage(System.Web.Services.Protocols.SoapMessageメッセージ)
        { 
            場合(message.Stage == SoapMessageStage.AfterSerialize)
            { 
                場合(message.Exception!= NULL 
                { 
                    AppLog.Info(message.Exception.InnerException)。
                    // LogUtil.Log.Error(message.Exception.InnerException)。
                } 
            } 
        } 
    }

 

同時に、web.configファイルで設定する必要があります

<Webサービス>ノードを探します

次の設定を追加します。

 < soapExtensionTypes > 
        < 追加タイプ= "Eway.HR.WebService.SoapExceptionHandler、Eway.HR.WebService" 優先度= "1" グループ= "ハイ"  /> 
      </ soapExtensionTypes >

このように、完全な石鹸ではないので、この時点では、直接開いてデバッグ対ウェブを直接使用している場合、何の効果もないだろう、

あなたはWebserviceStudioテストダウンロードを使用することができます。https://archive.codeplex.com/?p=WebserviceStudio

 

WebserviceStudio

おすすめ

転載: www.cnblogs.com/chcong/p/11423054.html
おすすめ