我正在开发ASP .NET Web API应用程序,我需要在每个请求的生命周期范围内在自定义类(而不是web api控制器)中使用autofac手动注入。我已经搜索了几天的解决方案,并且只发现了在web api控制器中使用HttpRequestMessage的建议here
在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添加到已经存在的大项目中,而不是为了这一步而破坏一切(这肯定会在以后重构)。 你能帮我解决这个问题。
感谢所有回复!