質問

Close のメソッド ICommunicationObject MSDN の概要として 2 種類の例外をスローできます ここ. 。理由はわかりました Close メソッドはこれらの例外をスローできますが、理解できないのは、なぜ Dispose サービス プロキシ上のメソッドは、 Close を使わない方法 try その周りに。あなたではありませんか Dispose メソッドで例外をスローしないようにしたい場所は 1 つだけですか?

役に立ちましたか?

解決

これは、.NET コードにおける一般的な設計パターンのようです。ここからの引用です フレームワーク設計ガイドライン

close がこの分野の標準用語である場合は、Dispose() に加えて Close() メソッドを提供することを検討してください。その際、Close 実装を Dispose と同じにすることが重要です。

がここにあります ブログ投稿 この System.ServiceModel.ClientBase 設計問題の回避策を見つけることができます。

他のヒント

はい、通常、Dispose は例外がスローされないようにする場所の 1 つです。ただし、このMSDNに基づいて、 フォーラムのスレッド この動作には歴史的な理由がいくつかありました。したがって、推奨されるパターンは、try{Close}/catch{Abort} パラダイムです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top