ASP .NET Core Web API REST中的控制器默认情况下是瞬态实例,即每次请求都会创建一个新的控制器实例。然而在某些情况下,我们需要将控制器设置为单例实例,以便多个请求可以共享相同的控制器实例。为了实现这种单例控制器的模式,我们需要按照以下步骤进行设置:
public class MySingletonController { //Our controller logic goes here }
services.AddSingleton
public class MyController : Controller { private readonly MySingletonController _singletonController;
public MyController(MySingletonController singletonController)
{
_singletonController = singletonController;
}
//Other controller logic goes here
}
这样,我们就成功地创建了一个单例控制器并将其注入到我们的控制器中。每个请求将共享相同的单例控制器实例,而不是创建新的实例。