2009-05-07 25 views
-3

どのように私はasp.net mvcでIDisposableインターフェイスを使用することができます。ASP.NET MVCとIdisposable

+0

実際に何をしたいですか?この問題のASP.NET MVCと他の分野の違いは何ですか? –

答えて

0

これは、一部の人が考えるような悪い質問ではありません。間違った方法で尋ねられます。 CTXがオブジェクトに配置された例外が生じたデータの景色実際に反復する前に長く配置されているので

ActionResult UserList() 
{ 
using (var ctx = new DbCtx()) 
{ 
    return View(ctx.Users) 
} 
} 

動作しません。 次のコードを考えてみましょう。

解決策は、Controller.Disposeにctxを処理することです。 わかりにくいのは、私たちのコントローラに注入された依存関係のほとんどが、IDisposableを遅かれ早かれ実装する必要があるということです。

これはmvc固有の問題ではありません。

+0

これは、コントローラファクトリとしてAutofacを使用するのが好きな理由です。インジェクトされた依存関係は、リクエストの最後に自動的にDisposeメソッドが呼び出されます(存在する場合)。 –

1

asp.netでIDisposable mvcは.Netフレームワークの他の場所でIDisposableと同じです。