在ASP.NET Core中,服务的生命周期是一个重要的概念,它决定了服务实例的创建、使用和销毁的方式。以下是关于ASP.NET Core服务生命周期的面试题回答,以清晰、分点的方式呈现:
目录
一、ASP.NET Core服务生命周期概述
ASP.NET Core提供了三种服务生命周期:Singleton(单例)、Scoped(作用域)和Transient(瞬态)。这些生命周期决定了服务实例在应用程序中的生命周期和如何被共享。
二、三种服务生命周期详解
-
Singleton(单例)
- 定义:在整个应用程序的生命周期内只创建一个服务实例。
- 特点:服务实例在应用启动时创建,并在整个应用生命周期内保持不变。
- 示例:配置服务(如数据库连接字符串)、缓存服务等。
- 引用方式:通过
AddSingleton
方法在IServiceCollection
中注册服务。
-
Scoped(作用域)