Autofac的WebAPI 2 OWIN不工作 [英] Autofac WebApi 2 OWIN Not Working
本文介绍了Autofac的WebAPI 2 OWIN不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
经与Autofac和WebApi2使用OWIN的问题。基本上构造是没有得到注入。
Having an issue with Autofac and WebApi2 using OWIN. Basically the Constructor isn't getting Injected.
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "Default Route",
routeTemplate: "{controller}.{ext}"
);
config.Routes.MapHttpRoute(
name: "Default Route with Id",
routeTemplate: "{controller}/{id}.{ext}",
defaults: new { id = RouteParameter.Optional }
);
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.Register(c => new Logger()).As<ILogger>().InstancePerRequest();
var container = builder.Build();
var resolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configuration.DependencyResolver = resolver;
app.UseAutofacWebApi(GlobalConfiguration.Configuration);
app.UseWebApi(config);
}
}
public class UsersController : ApiController
{
private readonly ILogger _logger;
public UsersController(ILogger logger)
{
_logger = logger;
}
}
我使用的是Autofac.Integration.Owin的NuGet阿尔法包。我缺少什么?
I'm using the Autofac.Integration.Owin nuget alpha package. What am I missing?
推荐答案
试图通过使用配置
配置对象的所有道路。在中间您切换到 GlobalConfiguration
。在OWIN +网页API,你不会使用静态配置的对象,只是你在配置OWIN应用程序创建实例。
Try using the config
configuration object all the way through. In the middle you switch to GlobalConfiguration
. In OWIN + Web API you won't use the static configuration object, just the instance you create while configuring the OWIN app.
这篇关于Autofac的WebAPI 2 OWIN不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文