小编Col*_*ung的帖子

让InRequestScope与Ninject和WebApi一起使用

我有一个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的文档状态).

任何人都可以提供一个正确的工作示例,说明如何在请求范围内的多个组件中注入相同的对象实例?

谢谢.

ninject asp.net-web-api

6
推荐指数
1
解决办法
709
查看次数

标签 统计

asp.net-web-api ×1

ninject ×1