ActionFilterAttribute wtrysk ninject - DbContext został usunięty
Mam swój projekt, który używa zwykłego wzorca repozytorium z usługami i jednostką pracy (wszystkie z Ninject wstrzykującymi zależności z NinjectModule), ale próbuję uzyskać dostęp do usługi zActionFilterAttribute
aby wstrzyknąć trochę informacji (z DB) w układ stron, które pokazuję, więc nie muszę zepsuć wszystkich akcji na każdym kontrolerze.
Problem pojawia się, gdy zapisuję do bazy danych na jednym ekranie i przechodzę do następnego, a następnie wracam do poprzedniego (ze standardem@Url.Action
): TheActionFilterAttribute
dlaIndex
akcja jest wyzwalana, ale wywołanie usługi i odpowiednie repozytorium (w atrybucie) rzuca wyjątek, ponieważDbContext has been disposed
.
Czy jest jakiś problem z dostępem do usługi, a co za tym idzie, doDbContext
zActionFilterAttribute
podczas wstrzykiwania usługi przez Property Injection? Chcę zauważyć, że używam iniekcji właściwości dla usługi w atrybucie, ponieważ konstruktor otrzymuje 2 parametry, które są dowolne w zależności od podpisu metod akcji, więc moją jedyną opcją było wstrzyknięcie za pośrednictwem właściwości.
Daj mi znać, jeśli potrzebujesz kodu, a ja zaktualizuję pytanie.