使用寄存器类型获取单实例控制器错误Ninject to Unity

时间:2014-08-09 16:23:12

标签: c# asp.net-mvc unity-container

我有Ninject并配置了大量的映射。我现在开始使用Unity,我使用下面的代码创建所有映射:

        container.RegisterTypes(
            AllClasses.FromLoadedAssemblies(),
            WithMappings.FromMatchingInterface,
            WithName.Default,
            /* Cant remember what I was using here */);

但是现在,当我运行我的MVC 5项目时,我收到了这个错误:

  

单个控制器实例不能用于处理多个请求。如果正在使用自定义控制器工厂,请确保为每个请求创建一个新的控制器实例。

1 个答案:

答案 0 :(得分:2)

这段代码似乎可以解决问题:

container.RegisterTypes(
            AllClasses.FromLoadedAssemblies(),
            WithMappings.FromMatchingInterface,
            WithName.Default,
            WithLifetime.Transient);