【发布时间】:2012-10-09 02:35:48
【问题描述】:
可能重复:
Inject a dependency into a custom model binder and using InRequestScope using Ninject
我正在尝试将 NHibernate 会话绑定到自定义模型绑定器:
由于自定义模型绑定器似乎是单例,我认为我需要关注线程安全。这是我当前的 IoC 代码:
kernel.Bind<ISession>().ToProvider<SessionProvider>().InRequestScope()
.OnActivation(x => ServiceModelBinder.Service = kernel.Get<IServiceService>());
在我的活页夹中,我使用ThreadStatic 属性修饰了静态服务字段,以避免会话的并发问题。
这是个好主意吗?
有没有更好的方法将每个请求范围的对象注入到视图模型中?还是我不应该担心它在纸上看起来有多难看,只需在需要的地方从DependencyResolver 获取当前会话?
【问题讨论】:
-
另见该帖子的相关链接
标签: c# asp.net-mvc ninject modelbinders