ASP.NET AddSingleton
最后修改于 2025 年 4 月 3 日
在本文中,我们将探讨 ASP.NET 8 中的 AddSingleton 方法。此方法对于依赖注入和服务生存期管理至关重要。
ASP.NET 是一个跨平台、高性能的框架,用于构建现代 Web 应用程序。AddSingleton 方法有助于管理服务实例。
基本定义
AddSingleton 是 ASP.NET Core 依赖注入系统中的一个方法。它在服务容器中注册一个具有单例生存期的服务。
单例服务仅创建一次,并在应用程序的整个生存期内共享。对该服务的任何请求都将获得相同的实例。
这对于维护状态或创建成本较高的服务非常理想。AddSingleton 通常用于缓存、配置和日志服务。
ASP.NET AddSingleton 示例
以下示例演示了如何使用 AddSingleton 来实现计数器服务。
Program.cs
var builder = WebApplication.CreateBuilder(args); // Register the CounterService as a singleton builder.Services.AddSingleton<CounterService>(); var app = builder.Build(); app.MapGet("/", (CounterService counter) => { counter.Increment(); return $"Counter: {counter.GetCount()}"; }); app.Run();
这会设置一个基本的 ASP.NET 应用程序,其中包含一个单例的 CounterService。该服务被注入到最小 API 端点中。
Services/CounterService.cs
public class CounterService { private int _count = 0; public void Increment() { _count++; } public int GetCount() { return _count; } }
CounterService 维护一个简单的计数器。对根端点 ("/") 的每次请求都会递增并返回当前计数。
由于它被注册为单例,因此所有请求都使用相同的实例。计数器值在请求之间保持不变。
要测试这一点,请运行应用程序并多次刷新页面。您会看到每次刷新时计数器都会递增,这演示了单例行为。
来源
在本文中,我们探讨了 ASP.NET 8 中的 AddSingleton 方法。这项强大的功能有助于在您的应用程序中高效地管理服务实例。