在ASP.NET Core中的IoC服务容器的上下文中有哪些请求?
我正在these教程的帮助下学习ASP.NET Core。我遇到了以下摘录:
范围:IoC容器将为每个请求创建一次指定服务类型的实例,并将在单个请求中共享。
我不明白我们在这里谈论什么要求?这是否意味着每次后端控制器处理请求时,都会创建IoC容器提供的服务的新实例并将其隐式放置在类(代表控制器)的字段中?还是意味着其他类型的请求?
换句话说,如果我们有:
public void ConfigureServices(IServiceCollection services)
{
services.Add(new ServiceDescriptor(typeof(ILog),typeof(MyConsoleLogger),ServiceLifetime.Scoped));
}
public class HomeController : Controller
{
ILog _log;
public HomeController(ILog log)
{
_log = log;
}
public IactionResult Index()
{
_log.info("Executing /home/index");
return View();
}
}
每次ILog
控制器处理请求时,_log
中的HomeController
实例是否会不同?