ASP.NET MVC.Autofac和多个连接字符串

ale*_*mac 5 c# autofac

我需要在ASP.NET MVC应用程序中使用多个连接字符串.我怎么能这样做?现在我正在注册连接如下:

builder.RegisterType<SqlConnection>().WithParameter(
    "connectionString",
    WebConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString)
  .InstancePerLifetimeScope()
  .ExternallyOwned();

builder.Register(c => new ContextDataContext(c.Resolve<SqlConnection>())).InstancePerDependency();
Run Code Online (Sandbox Code Playgroud)

kub*_*003 5

您可以按名称注册给定类型的多个实例:

来自 Autofac 教程:

builder.Register<OnlineState>().Named<IDeviceState>("online");
Run Code Online (Sandbox Code Playgroud)

要检索命名服务,请使用 ResolveNamed() 方法:

var r = container.ResolveNamed<IDeviceState>("online");
Run Code Online (Sandbox Code Playgroud)

http://autofac.readthedocs.org/en/latest/advanced/keyed-services.html