提前感谢任何帮助。我改为mvc4并开始使用app_start / routeconfig.cs来注册路由。
可能它与autofac没有任何关系但是我找不到解决方案,有没有人知道它是否需要在任何其他地方声明routetable.routes
- 我已经在global.asax中声明了RouteConfig.RegisterRoutes(RouteTable.Routes);
- 当计划使用autofac与mvc4 razor的互联网模板?
目前我的应用中没有map.route定义。我不知道是否必须声明像
这样的实例RegisterInstance(RouteTable.Routes);
非常感谢你。
答案 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方法中作为第一次调用之一。