【发布时间】:2011-10-28 15:15:40
【问题描述】:
我想将自定义 ViewEngine 注入我的 MVC 网站。我就是这样做的:
private static IKernel CreateKernel()
{
kernel.Bind<IViewEngine>().ToProvider(new RazorViewEngineProvider()).InRequestScope();
}
这是我的提供者:
public class RazorViewEngineProvider : Provider<RazorViewEngine>
{
protected override RazorViewEngine CreateInstance(IContext context)
{
return new RazorViewEngine();
}
}
问题是:当我第一次访问该网站时,我的提供商只被调用一次。下次我的提供者不知何故仍在缓存中。这不是我想要的。
我希望提供程序在每个请求上都执行。我以为我可以使用 .InRequestScope() 来做到这一点,但这并没有什么区别。有谁知道怎么回事?
【问题讨论】:
标签: asp.net-mvc-3 ninject viewengine