try-catch - 使用 try catch 从 DataServiceRequestException 中恢复

标签 try-catch wcf-data-services

我有一个 WCF 数据服务和一个使用它的 wpf 客户端。

我用 try catch block 包围了客户端中对数据服务的每次调用。这是我创建产品的示例。

    try
        {
            Product product = Product.CreateProduct(productName, productNumber);

            context.AddToProduct(product);
            context.SaveChanges();
        }
        catch (DataServiceRequestException dataServiceRequestException)
        {
            Handle(dataServiceRequestException);
        }

这一切都运行良好 - 例如,当产品编号已经存在时,我会遇到异常。我的问题是,当抛出此类异常时,如何在客户端中恢复。换句话说,我如何实现 Handle() 方法。例如,如果我只显示一个包含错误消息内容的消息框,则下次我尝试创建产品时会发生相同的错误。换句话说,我如何让上下文忘记有错误。我一直在寻找 context.Clear() 和 context.Forget() 但似乎不存在这样的方法。

最佳答案

诀窍是添加一个finally子句,并重新初始化上下文。

关于try-catch - 使用 try catch 从 DataServiceRequestException 中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212579/

相关文章:

Python try-except with of if else

C# - 设计问题建议 : Can't Use Dictionary then what?

.net - 应对落后的枚举支持

Java try catch问题

c# - 在 visual studio 2010 中自动生成捕获

wcf - Ria 服务与 WCF 数据服务

wcf - 如何提高 WCF 数据服务性能

c# - WCF 数据服务,不要公开所有列

c# - 代码未捕获 C# 中的 FormatException

c++ - 捕获异常而不必抛出