サービスと作業単位(すべてNinjectがNinjectModuleから依存関係を注入する)で通常のリポジトリパターンを使用するプロジェクトがありますが、からサービスにアクセスしActionFilterAttribute
て、レイアウトに(DBから)いくつかの情報を注入しようとしています私が表示するページの一部なので、各コントローラーのすべてのアクションをいじる必要はありません。
問題は、ある画面でDBに保存し、次の画面に移動してから前に戻ると(標準で@Url.Action
)発生します。アクションのActionFilterAttribute
forIndex
はトリガーされますが、サービスと対応するリポジトリ(属性内)への呼び出しはスローされます例外のためDbContext has been disposed
。
サービスへのアクセスに問題があり、その結果、プロパティインジェクションを介してサービスを注入してDbContext
いる間から問題がありますか?ActionFilterAttribute
コンストラクターはActionメソッドのシグネチャに応じて任意の2つのパラメーターを受け取るため、属性のサービスにプロパティインジェクションを使用していることに注意してください。したがって、私の唯一のオプションは、プロパティを介してインジェクションすることでした。
コードが必要な場合はお知らせください。質問を更新します。