WPF 应用程序中的 FaultException 仍然在 WCF 服务中引发错误

本文关键字:服务 WCF 错误 应用程序 FaultException WPF | 更新日期: 2023-09-27 18:30:16

我正在尝试在我的 WCF 服务中创建 FaultException,以便我可以在我的 WPF 应用程序中显示错误。我遇到的问题是 FaultException 仍然显示/崩溃到我的服务,并且不想在我的 WPF 应用程序(在消息框中)显示错误。

这是我的编码:

服务

public void AddNewSupplier(SupplierData Data)
{
    using (Database db = new Database())
    {
        var supplier = new Supplier
        {
            Name = Data.Name,
            Address = Data.Address,
            ContactNumber = Data.ContactNumber,
            Description = Data.Description,
            Terms = Data.Terms
        };
        if (db.Supplier.Any(sup => supplier.Name.Contains(sup.Name)))
        {
            throw new FaultException(new FaultReason("The database already contains the name " + supplier.Name + ". Please enter a diffirent name"), new FaultCode("Multiple Items"));
        }
        else
        {
            db.Supplier.Add(supplier);
            db.SaveChanges();
        }
    }
}

客户端应用程序

private void btnAdd_Click(object sender, RoutedEventArgs e)
{
    using (MKCServiceClient service = new MKCServiceClient())
    {
        try
        {
            service.AddNewSupplier(new SupplierData
            {
                Name = txtName.Text,
                Address = txtAddress.Text,
                ContactNumber = txtContactNumber.Text,
                Description = txtDescription.Text,
                Terms = txtTerms.Text
            });                
        }
        catch (FaultException fe)
        {
            if (fe.Code.Name == "Multiple Items")
                MessageBox.Show(fe.Reason.ToString());
        }
    }
}

我可能做错了什么?

WPF 应用程序中的 FaultException 仍然在 WCF 服务中引发错误

你能把断点放在你的 Catch(...) 区域吗?fe.Code.Name房产的真正价值是多少?