我有我的项目,它使用带有服务和工作单元的通常存储库模式(所有这些都使用 Ninject 从 NinjectModule 注入依赖项),但我试图从 an 访问服务ActionFilterAttribute
以在布局中注入一些信息(来自 DB)我展示的页面,所以我不需要弄乱每个控制器上的所有操作。
当我在一个屏幕上保存到数据库并移动到下一个屏幕然后返回到上一个屏幕(使用标准@Url.Action
)时,问题就出现了:触发了ActionFilterAttribute
forIndex
操作,但调用服务和相应的存储库(在属性内)抛出一个例外,因为DbContext has been disposed
.
访问服务是否有任何问题,因此,DbContext
通过ActionFilterAttribute
属性注入注入服务时有什么问题吗?我想说明一下,我在属性中对服务使用属性注入,因为构造函数接收 2 个参数,这些参数是任意的,具体取决于 Action 方法的签名,所以我唯一的选择是通过属性注入。
如果您需要一些代码,请告诉我,我会更新问题。