[解決済み] CloseとDispose - どちらを呼び出すか?
2022-04-22 20:59:30
質問
スレッドを読んで SqlCommand.Dispose は十分ですか? と WCFサービスのクローズとディスポーズ SqlConnectionやStreamクラスを継承するいくつかのクラスのようなクラスでは、CloseではなくDisposeで閉じることが重要なのでしょうか?
解決方法は?
この状況を明らかにしたい。
マイクロソフトのガイドラインによると、以下のような形で提供するのがグッドプラクティスです。
Close
メソッドを使用します。
ここで
からの引用です。
フレームワークデザインガイドライン
メソッドの提供を検討する
Close()
に加えてDispose()
がその地域の標準的な用語である場合は、それを使用します。その際、「クローズ」の文字列をClose
と同じ実装になります。Dispose
...
ほとんどの場合
Close
と
Dispose
メソッドは同等です。また
主な違い
との間に
Close
と
Dispose
の場合は
SqlConnectionObject
があります。
アプリケーションは
Close
複数 が複数回発生します。例外は発生しません。 が生成されます。を呼び出した場合
Dispose
メソッドSqlConnection
オブジェクトの状態が をリセットします。を呼び出そうとすると メソッドで処理されたSqlConnection
オブジェクトが存在する場合、例外が発生します。
それはそうと。
-
接続オブジェクトを1回だけ使用する場合
を使用します。
Dispose
. Ausing
ブロックは、例外が発生した場合でも、これが呼び出されるようにします。 -
接続オブジェクトを再利用する必要がある場合。
使用
Close
メソッドを使用します。
関連
-
[解決済み] Marginのプロパティ順
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] WCF - メッセージサイズのクォータを増加させる方法
-
[解決済み] C#でByte[]Arrayをファイルに書き込むことはできますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] VB.NETでプログラムパスを取得する?
-
[解決済み] ASP.NET control to render a <div>
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] Entity FrameworkとLINQ to SQLの比較
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] HashSetとListの性能比較