Autofac - RouteConfig.cs - asp.net mvc4

时间:2013-02-22 16:40:41

标签: asp.net-mvc autofac

提前感谢任何帮助。我改为mvc4并开始使用app_start / routeconfig.cs来注册路由。

可能它与autofac没有任何关系但是我找不到解决方案,有没有人知道它是否需要在任何其他地方声明routetable.routes - 我已经在global.asax中声明了RouteConfig.RegisterRoutes(RouteTable.Routes); - 当计划使用autofac与mvc4 razor的互联网模板?

目前我的应用中没有map.route定义。我不知道是否必须声明像

这样的实例
RegisterInstance(RouteTable.Routes);

非常感谢你。

1 个答案:

答案 0 :(得分:1)

这基本上是为mvc配置Autofac的最小代码量。您需要引用Autofac.Integration.Mvc,如果您使用的是webapi,则还需要引用Autofac.Integration.Webapi。

public static class AutofacConfig
{
    public static IContainer Register()
    {
        var assembly = typeof(MvcApplication).Assembly;
        var builder = new ContainerBuilder();

        builder.RegisterControllers(assembly);
        // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi
        builder.RegisterApiControllers(assembly);

        var container = builder.Build();

        DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi
        var resolver = new AutofacWebApiDependencyResolver(container);
        // Configure Web API with the dependency resolver.
        GlobalConfiguration.Configuration.DependencyResolver = resolver;

        return container;
    }
}

在Global.Asax中,您可以添加

AutofacConfig.Register();

在Application_Start方法中作为第一次调用之一。