在IIS中但通過工廠運行的Web服務不會保留拋出的原始異常。WCF - 在IIS中運行但通過工廠運行的Web服務不能保持拋出的原始異常
例如:
我的Web服務已經標示了FaultContractAttribute像這樣:
public interface IMyService
{
[FaultContract(typeof(MyCustomException))]
[OperationContract]
bool IsAuthorized();
}
我的Web服務實現拋出像這樣一個自定義異常:
public class MyService : IMyService
{
public bool IsAuthorized()
{
throw new FaultException<MyCustomException>(fault, fr);
}
}
Then:
如果我的WCF - 不使用任何工廠 - 類似於
<%@ ServiceHost Language="C#" Debug="true" Service="MyService" %>
,然後在客戶端我可以拿起原始異常(MyCustomException)如果我的WCF - 使用一些工廠 - 類似於
<%@ ServiceHost Language="C#" Debug="true" Service="MyService" Factory="MyFactory" %>
,然後在客戶端,我不能沒有用常規跟蹤拿起原始異常(MyCustomException),但只有SOAP異常(FaultException異常)&消息
注:
WCF工廠MyFactory與實現其服務主機包含IErrorHandler
開始在該服務中的行爲服務行爲,方法ProvideFault什麼也不做(我不知道如何通過這種方式來保持原有的除外)
總之,我求求答案從期望:如何在使用一些WCF工廠時保持原始異常(MyCustomException)? 謝謝。