發生異常時顯示其他資訊

處理服務中的異常非常重要。在開發服務時,你可以設定 WCF 以提供更詳細的資訊,將此標記新增到配置檔案,通常是 Web.config:

 <serviceDebug includeExceptionDetailInFaults="true"/>

此標記必須放在 serviceBehavior 標記內,通常如下所示:

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
</system.serviceModel> 

詳細資訊示例:

伺服器堆疊跟蹤:em System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation,ProxyRpc&rpc)em System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] out,TimeSpan timeout)em System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime operation)em System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

異常重新丟擲[0]:em System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)em System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32 type)em IMyService.GetDataOperation( RequestObterBeneficiario request)em MyServiceClient.GetDataOpration(RequestData request)

這將返回客戶端的詳細資訊。在開發期間,這可以提供幫助,但是當你的服務投入生產時,你將不再保留此服務,因為你的服務可以傳送敏感資料,例如資料庫名稱或配置。