gpt4 book ai didi

asp.net-web-api - 让 InRequestScope 与 Ninject 和 WebApi 一起工作

转载 作者:行者123 更新时间:2023-12-04 16:10:17 26 4
gpt4 key购买 nike

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

谁能提供一个正确的工作示例,说明如何在请求范围内的多个组件中注入(inject)同一对象实例?

谢谢。

最佳答案

您将需要来自 nuget 或其他地方的 Ninject.Web.Common 引用,并使用 InRequestScope 方法。

var messages = new List<string>();
kernel.Bind<IList<string>>()
.ToMethod(x => messages)
.WhenMemberHas<ServiceResultMessagesAttribute>()
.InRequestScope();

关于asp.net-web-api - 让 InRequestScope 与 Ninject 和 WebApi 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com