0

我正在开发 ASP .NET Web API 应用程序,我需要在每个请求生命周期范围内的自定义类(不是 Web api 控制器)中使用 autofac 手动注入。我已经搜索了几天的解决方案,并且在这里只找到了在 web api 控制器中使用 HttpRequestMessage 的建议

在 web api 控制器中:

var dependencyScope = actionContext.Request.GetDependencyScope();
var lifetimeScope = dependencyScope.GetRequestLifetimeScope();
var serviceObject = new AutofacWebApiDependencyResolver(lifetimeScope ).GetService(typeof(IMyService)) as IMyService;

但据我所知,我无法在自定义类中检索 HttpRequestMessage 对象(actionContext.Request)。我知道这是一种奇怪的方法,我应该考虑使用构造函数注入,但我试图将 autofac 添加到已经存在的大项目中,而不是破坏这一步的一切(这肯定会在以后重构)。你能帮我解决这个问题吗?

感谢所有回复!

4

0 回答 0