發生異常時顯示其他資訊
處理服務中的異常非常重要。在開發服務時,你可以設定 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)
這將返回客戶端的詳細資訊。在開發期間,這可以提供幫助,但是當你的服務投入生產時,你將不再保留此服務,因為你的服務可以傳送敏感資料,例如資料庫名稱或配置。