【发布时间】:2012-09-14 09:17:52
【问题描述】:
首先,我的问题仅适用于网络应用程序,我倾向于使用 InRequestScope 分辨率设置我的大部分 Ninject 绑定。
我正在考虑实现功能切换的方法,我的一个想法是调用:
kernel.Rebind<IInterface>().To<RealImplementation>().InRequestScope();
当网站仍在运行时,开关已轻弹。如果我决定关闭该功能,我可以打电话
kernel.Rebind<IInterface>().To<EmptyImplementation>().InRequestScope();
我的想法是 InRequestScope 将保护任何“进行中”的代码请求,但允许新请求获得新切换的功能。
有没有人根据经验(或对 Ninject 的更深入了解)知道这是否可行,或者是否会给我带来更多麻烦。我对 MEF 进行了粗略的了解,因此如果 Ninject 在这种情况下不是完成这项工作的最佳工具,那将是我的下一个停靠点。
【问题讨论】: