Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法重用';ApiController';实例-统一DI_C#_Asp.net Web Api_Dependency Injection_Asp.net Web Api2_Unity Container - Fatal编程技术网

C# 无法重用';ApiController';实例-统一DI

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); 这是我

我按照教程在WebAPI中使用Unity依赖项注入

为了避免单独注册每种类型,我使用了这个设置

_container.RegisterTypes(
            AllClasses.FromLoadedAssemblies(),
            WithMappings.FromMatchingInterface,
            WithName.Default,
            WithLifetime.ContainerControlled);
这是我第一次做得很好,但第二次做了之后我就开始做了

“无法重用'ApiController'实例。必须根据传入消息构造'ApiController'。请检查您的自定义'IHttpControllerActivator',并确保它不会制造相同的实例。”


我怎么会喜欢这个呢?

从外观上看,当你说
WithLifetime.ContainerControl
时,它意味着你要求Unity注册一个单例实例(即重用实例),这正是它抱怨的。 您需要设置PerRequest终身管理器