AddSingleton 是 ASP.NET Core 的一个方法,用于将一个实例注册为单例模式。所谓单例模式,就是保证整个应用程序中只有一个实例。在 ASP.NET Core 中,它主要用于注册服务。
下面是一个简单的示例:
services.AddSingleton();
其中,IMyService 是一个接口,MyService 是实现了该接口的类。通过将 MyService 注册为单例模式,就可以在整个应用程序中共享这个实例。
需要注意的是,单例模式只适用于无状态的服务,否则会出现线程安全问题。如果需要注册有状态的服务,可以使用 AddScoped 方法,将其注册为“作用域模式”,使得每个请求都有自己的实例。
另外,如果需要执行一些初始化操作,可以在构造函数中进行,因为 ASP.NET Core 会在第一次请求该服务时自动创建实例。
public class MyService : IMyService
{
public MyService()
{
// Init code here
}
}