2

WCFデータサービスとそれを使用するwpfクライアントがあります。

クライアントのデータサービスへの各呼び出しをtrycatchブロックで囲みました。これが私が製品を作成する例です。

    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 に答える