現在、UnityおよびEntityフレームワークを使用してASP.NET MVCアプリケーションを構築しています。私は、依存性を解決するためにContainerControlledLifetimeManagerを使用するUnity MVC 3の設定を使用しています(http://devtrends.co.uk/blog/introducing-the-unity.mvc3-nuget-package-to-reconcile-mvc3-unity - と - idisposable)。これは、ページがロードされた後に時間のかかるタスクを実行する別のスレッドをスピンアップしようとするまで、うまく動作し、ユーザーは更新を受け取ります。スレッドから、私はこのエラーを取得する:ThreadPoolでUnityを使用したDbcontextのLIfetime管理
The operation cannot be completed because the DbContext has been disposed.
私は、コンテナとそれの子が配置されますので、メインスレッドが完了しているからだと考えています。誰かがこれのための解決策を知っていますか?
ありがとうございます!
public ActionResult Blah()
{
MyViewModel model = new MyViewModel();
using (var dbc = new MyDbContext())
{
model.items = from x in dbc.items select x;
}
View(model)
}
items
この場合には解決されていないので、解決策は次のとおりです:
model.items = (from x in dbc.items select x).ToList();
DbContextを宣言して使用するコードを投稿できますか? perhpsあなたが何かを使っている(){} – MethodMan
あなたは文脈を注入していますか?コードは間違いなくここにあります:) –