C# 无法重用';ApiController';实例-统一DI
我按照教程在WebAPI中使用Unity依赖项注入 为了避免单独注册每种类型,我使用了这个设置C# 无法重用';ApiController';实例-统一DI,c#,asp.net-web-api,dependency-injection,asp.net-web-api2,unity-container,C#,Asp.net Web Api,Dependency Injection,Asp.net Web Api2,Unity Container,我按照教程在WebAPI中使用Unity依赖项注入 为了避免单独注册每种类型,我使用了这个设置 _container.RegisterTypes( AllClasses.FromLoadedAssemblies(), WithMappings.FromMatchingInterface, WithName.Default, WithLifetime.ContainerControlled); 这是我
_container.RegisterTypes(
AllClasses.FromLoadedAssemblies(),
WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.ContainerControlled);
这是我第一次做得很好,但第二次做了之后我就开始做了
“无法重用'ApiController'实例。必须根据传入消息构造'ApiController'。请检查您的自定义'IHttpControllerActivator',并确保它不会制造相同的实例。”
我怎么会喜欢这个呢?从外观上看,当你说
WithLifetime.ContainerControl
时,它意味着你要求Unity注册一个单例实例(即重用实例),这正是它抱怨的。
您需要设置PerRequest终身管理器