2015-05-08 76 views
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應用程序中,總是捕獲異常,而不是自定義異常。

+0

在'Exception ex'塊中設置斷點並查看_exactly_異常類型是什麼。這幾乎可以肯定是你的自定義異常,但在不同的命名空間。這對於你有一個WPF項目是沒有用的。這將與你有一個_different_項目,你的項目設置不同,或者你做了不同的「添加服務引用」這一事實。例如,WPF項目是一個新的?那麼也許你沒有添加對其他項目中添加的共享程序集的引用。 –

+0

@JohnSaunders Thaks爲你評論。我創建一個新的WPF項目,錯誤是一樣的,但如果我創建一個控制檯應用程序工作正常。兩個項目的命名空間相同,但僅在控制檯應用程序中有效。我沒有找到差異... – Nacho

+0

@ErnodeWeerd是相同的線程 – Nacho

回答

1

我解決了我的問題與評論幫助。我有兩個代理服務器,一個在我的控制檯應用程序中,另一個在我的WPF應用程序中,這兩個代理服務器使用相同的服務引用,但兩個代理服務器都有不同的參考方式,這種差異是問題所在。 WPF not have any problems with custom erros。 感謝那些幫助我的評論。