使用try-catch从DataServiceRequestException恢复

使用try-catch从DataServiceRequestException恢复,try-catch,wcf-data-services,Try Catch,Wcf Data Services,我有一个WCF数据服务和一个使用它的wpf客户端 我用try-catch块包围了客户机中对数据服务的每次调用。下面是我创建产品的一个示例 try { Product product = Product.CreateProduct(productName, productNumber); context.AddToProduct(product); context.SaveChanges();

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

我用try-catch块包围了客户机中对数据服务的每次调用。下面是我创建产品的一个示例

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

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

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

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