Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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# 如何使用Disposition在MVC4和WebApi中设置依赖项注入?_C#_Dependency Injection_Asp.net Mvc 4 - Fatal编程技术网

C# 如何使用Disposition在MVC4和WebApi中设置依赖项注入?

C# 如何使用Disposition在MVC4和WebApi中设置依赖项注入?,c#,dependency-injection,asp.net-mvc-4,C#,Dependency Injection,Asp.net Mvc 4,随着MVC4的发布,Http名称空间中现在有了webapi和IDependencyResolver接口,它为每个请求使用IDependencyScope。此dependencyScope也会在每次请求后处理。只需在应用程序启动中设置并使用GlobalConfiguration.Configuration,即可轻松设置 对于“普通”MVC控制器也可以这样做吗?是否存在外观相似的接口,或者我只需要自己在控制器或服务中进行处理?Web API包含此作用域机制的原因是HTTP请求不能始终用作作用域,因为

随着MVC4的发布,Http名称空间中现在有了webapi和IDependencyResolver接口,它为每个请求使用IDependencyScope。此dependencyScope也会在每次请求后处理。只需在应用程序启动中设置并使用GlobalConfiguration.Configuration,即可轻松设置


对于“普通”MVC控制器也可以这样做吗?是否存在外观相似的接口,或者我只需要自己在控制器或服务中进行处理?

Web API包含此作用域机制的原因是HTTP请求不能始终用作作用域,因为Web API可以在自托管环境中运行,这意味着没有
HttpContext.Current

另一方面,“普通”MVC控制器将始终在web环境中运行,因此始终存在可用的HttpContext,这意味着可以将此机制用作定义作用域的方法。这就是许多IoC容器提供的“每Web请求”的生活方式。换句话说,MVC应用程序不需要这个范围,因为它们总是可以使用“按web请求”的生活方式