当IIS收到HTTP请求时,它将该请求移交给一个应用程序池中的被一个或多个工作进程服务的请求应用程序。如果需要,工作进程将从共享线程池生成线程以服务于HTTP请求。
(i) 在Web API控制器的上下文中,当接收到此请求时,控制器是否会被实例化并分配给生成的线程?
(ii) 当同一API控制器有多个HTTP请求时,每个生成的线程是否都有控制器的多个实例?
(iii) 在一个不是线程安全的资源(dbContext)在类级别上声明并在构造函数中实例化,然后在类方法中使用的场景中。提交和管理事务是否存在问题?
总之,控制器实例与线程是一一对应的吗?(我知道在ASP.NET中,多个线程实际上可以为单个HTTP请求提供服务)。
(i) 在Web API控制器的上下文中,当接收到此请求时,控制器是否会被实例化并分配给生成的线程?
(ii) 当同一API控制器有多个HTTP请求时,每个生成的线程是否都有控制器的多个实例?
(iii) 在一个不是线程安全的资源(dbContext)在类级别上声明并在构造函数中实例化,然后在类方法中使用的场景中。提交和管理事务是否存在问题?
总之,控制器实例与线程是一一对应的吗?(我知道在ASP.NET中,多个线程实际上可以为单个HTTP请求提供服务)。