2

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

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

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

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

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

4

1 回答 1

2

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

于 2013-01-11T09:42:17.427 回答