天天看點

C# Autofac內建之Framework WebAPI

Web API 2內建需要

Autofac.WebApi2

 NuGet包。

Web API內建需要

Autofac.WebApi

Web API內建為控制器,模型綁定器和操作過濾器提供了依賴注入內建。 它也增加了每個請求生命周期的支援。

要将Autofac與Web API內建,您需要引用Web API內建NuGet包,注冊您的控制器并設定依賴關系解析器。 您也可以選擇啟用其他功能。

protected void Application_Start()
{
  var builder = new ContainerBuilder();

  //得到你的HttpConfiguration.
  var config = GlobalConfiguration.Configuration;

  //注冊您的Web API控制器.
  builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

  //可選:注冊Autofac過濾器提供商.
  builder.RegisterWebApiFilterProvider(config);

  //可選:注冊Autofac模型綁定器提供程式
  builder.RegisterWebApiModelBinderProvider();

  //将依賴關系解析器設定為Autofac。
  var container = builder.Build();
  config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}