WPF客户端不会从WCF捕获自定义异常

时间:2015-05-08 18:51:05

标签: c# wpf wcf

我有一个自定义异常,当客户端是控制台应用程序或表单应用程序时,这可以正常工作,但如果客户端WPF不起作用。看,但我仍然找不到答案,任何想法?

我的基本自定义错误代码:

[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应用程序中,那么catch总是异常,而不是自定义异常。

1 个答案:

答案 0 :(得分:1)

我通过评论帮助解决了我的问题。我有两个代理,一个在我的控制台应用程序中,另一个在我的WPF应用程序中,两个代理使用相同的服务引用,但两个代理都有不同的方式引用服务,这种差异就是问题所在。 WPF not have any problems with custom erros。 感谢那些帮助我发表意见的人。