我有一个MVC4/WebApi项目,我正在尝试与Ninject 3连接.我想在请求范围内的多个实体之间共享一个特定对象,但我知道我需要提供某种实现InRequestScope(/sf/answers/741454241/).我查看了GitHub上的源代码,它似乎只是返回HttpContext.Current.我试过了:
var messages = new List<string>();
kernel.Bind<IList<string>>()
.ToMethod(x => messages)
.WhenMemberHas<ServiceResultMessagesAttribute>()
.InScope(x => HttpContext.Current);
Run Code Online (Sandbox Code Playgroud)
没有运气.我也尝试使用https://groups.google.com/d/msg/ninject/rC2vhj8yvBU/NAIkNA-QrAAJ中建议的Ninject.Web.WebApi(#9018)的最新"不稳定"Nuget包,但是我得到了同样的错误(方法get_InRequestScope没有实现).
至于GitHub上的源代码,在撰写本文时,相关文件的最后更新时间为11个月到一年多以前,所以我不知道这是不是现在使用不稳定的Nuget包(特别是考虑到Ninject的文档状态).
任何人都可以提供一个正确的工作示例,说明如何在请求范围内的多个组件中注入相同的对象实例?
谢谢.