【发布时间】:2013-12-27 04:37:43
【问题描述】:
我有一个 MVC4/WebApi 项目,我正在尝试与 Ninject 3 连接。我想在请求范围内的多个实体之间共享一个特定对象,但是我知道我需要提供一些InRequestScope (https://stackoverflow.com/a/10592203/173225) 的某种实现。我查看了 GitHub 上的源代码,它似乎只是返回 HttpContext.Current。我试过了:
var messages = new List<string>();
kernel.Bind<IList<string>>()
.ToMethod(x => messages)
.WhenMemberHas<ServiceResultMessagesAttribute>()
.InScope(x => HttpContext.Current);
没有运气。我还尝试按照https://groups.google.com/d/msg/ninject/rC2vhj8yvBU/NAIkNA-QrAAJ 中的建议为 Ninject.Web.WebApi (#9018) 使用最新的“不稳定”Nuget 包,但我得到了同样的错误(get_InRequestScope 方法没有实现)。
至于 GitHub 上的来源,在撰写相关文件的最后一次更新时是 11 个月到一年多以前,所以我不知道这是否与不稳定的 Nuget 包一起使用(特别是考虑到 Ninject 的文档状态)。
谁能提供一个适当的工作示例,说明如何在请求范围内的多个组件中注入同一对象实例?
谢谢。
【问题讨论】: