龙空技术网

Asp.net core服务的生命周期详解(服务和中间件)

Dotnet程序人生 280

前言:

而今看官们对“asp要运行哪个服务”大约比较看重,我们都需要知道一些“asp要运行哪个服务”的相关文章。那么小编在网络上网罗了一些关于“asp要运行哪个服务””的相关资讯,希望姐妹们能喜欢,大家一起来学习一下吧!

朋友们,大家好!今天小编讲解一下服务的三种生命周期。

下面分别讲一下这三种服务的生命周期:

第一种:暂时服务:通过AddTransient方法添加。暂时服务的生命周期是最短的,每次被请求使用时均会被实例化一次,即使相同的请求被请求多次,暂时服务也每次都会被实例化一次。

第二种:作用域服务:顾名思义,作用域范围是单个请求内,通过AddScoped方法添加。即为在单个请求中,无论请求多少次此服务只会实例化一次。

第三种:单实例服务:通过AddSingleton方法添加。该服务在应用程序运行期间只实例化一次。

下面我们通过代码实例具体分析下执行情况:

首先,这边先创建三个服务。

public class MyBaseService {

public string uid { set; get; }

public MyBaseService(){

uid = System.Guid.NewGuid().ToString().ToLower();

}

}

public class MyService1 : MyBaseService {

}

public class MyService2 : MyBaseService

{

}

public class MyService3 : MyBaseService

{

}

然后,通过三种不同的服务生命周期分别注册。

services.AddTransient<MyService1>();

services.AddScoped<MyService2>();

services.AddSingleton<MyService3>();

然后,在测试控制器中实现依赖注入三种服务,并在对应方法输出变量uid。

第一次请求:

Asp.net core服务的生命周期详解

第二次请求:

Asp.net core服务的生命周期详解

小伙伴们,你看懂了吗?

好了,今天小编就讲到这里。欢迎大家关注我们,我们下期再见!谢谢!

#程序人生#​#asp.net core#​

标签: #asp要运行哪个服务