我有我的ASP.NET MVC 4的WebAPI和其他一些组件构建分层的Web应用程序。 我使用Autofac 2.6.2.859的最新版本为我与MVC和的WebAPI整合功能DI容器。 我在不同的层autofac模块设置和我使用的是新RegisterAssemblyModules扫描各个模块的AppDomain组件。
在每次启动的伟大工程。 当我编辑web.config文件和应用程序升温,我的注册都将丢失。 我得到一个DependencyResolutionException -
与“公共绑定标志”的类型“My.Class.Name”里找到的建设者都不能在可用的服务和参数来调用:
所以,我的注册没有被重新加载。 有谁知道如何解决这个问题? 我应该把我的初始化代码别的地方比其他的Application_Start()?
UPDATE
下面是我的代码看起来像
public static class IoC
{
public static void Configure()
{
var builder = new ContainerBuilder();
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
//Assembly Modules
builder.RegisterAssemblyModules<NSUTriviaModuleBase>(assemblies);
// Register API controllers using assembly scanning.
builder.RegisterControllers(assemblies);
// Register API controllers using assembly scanning.
builder.RegisterApiControllers(assemblies);
var container = builder.Build();
// Set the dependency resolver implementation.
var resolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configuration.DependencyResolver = resolver;
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
}