我遵循this教程在WebAPI中使用Unity依赖注入。
为避免单独注册每种类型,我使用了此设置
_container.RegisterTypes(
AllClasses.FromLoadedAssemblies(),
WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.ContainerControlled);
这是第一次运作良好但是从第二次开始
"无法重复使用' ApiController'实例。 ' ApiController'必须根据传入的消息构建。检查您的自定义' IHttpControllerActivator'并确保它不会制造相同的实例。"
我如何重新开始?
答案 0 :(得分:4)
当你说WithLifetime.ContainerControlled
时,它的外观就意味着你要求Unity注册一个Singleton实例(即重用实例),这就是它的抱怨。
您需要设置PerRequest终身经理