ASP .NET Web API应用程序中的Autofac手动注入,具有每个请求的生命周期范围

时间:2013-08-22 08:19:45

标签: dependency-injection asp.net-web-api autofac

我正在开发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添加到已经存在的大项目中,而不是为了这一步而破坏一切(这肯定会在以后重构)。 你能帮我解决这个问题。

感谢所有回复!

0 个答案:

没有答案