我有一个 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/