2
我有一個自定義的異常,並且當客戶端是控制檯應用程序或表單應用程序時,但是如果客戶端是WPF
不起作用,這可以正常工作。看,但仍然沒有找到答案,任何想法?WPF客戶端不會捕獲WCF的自定義異常
我的基本的自定義錯誤代碼:
[DataContract]
public class BookingException
{
[DataMember]
public string Messsage { get; set; }
[DataMember]
public string Description { get; set; }
}
服務接口代碼:
[OperationContract]
[FaultContract(typeof(BookingException))]
void InsertBooking(Booking booking);
服務代碼:
public void InsertBooking(Booking booking)
{
throw new FaultException<BookingException>(new BookingException());
}
客戶端代碼:
catch (FaultException<BookingException> ex)
{
//TODO
}
catch (Exception ex)
{
//TODO
}
這適用於客戶端是控制檯應用程序或表單應用程序,但如果此客戶端代碼放在WPF應用程序中,總是捕獲異常,而不是自定義異常。
在'Exception ex'塊中設置斷點並查看_exactly_異常類型是什麼。這幾乎可以肯定是你的自定義異常,但在不同的命名空間。這對於你有一個WPF項目是沒有用的。這將與你有一個_different_項目,你的項目設置不同,或者你做了不同的「添加服務引用」這一事實。例如,WPF項目是一個新的?那麼也許你沒有添加對其他項目中添加的共享程序集的引用。 –
@JohnSaunders Thaks爲你評論。我創建一個新的WPF項目,錯誤是一樣的,但如果我創建一個控制檯應用程序工作正常。兩個項目的命名空間相同,但僅在控制檯應用程序中有效。我沒有找到差異... – Nacho
@ErnodeWeerd是相同的線程 – Nacho