ASP.NET Core 3框架中,异步线程为何无法调用IServic接口?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1588个文字,预计阅读时间需要7分钟。
:反照的难题:探究ASP.NET Core中依赖注入框架与服务实例的生命周期
内容:上周五,一个同事向我咨询了一个问题,我觉得这是一个很好的问题。这个问题有助于我们深入理解ASP.NET Core中依赖注入框架以及服务实例的生命周期。
问题重现:如何确保在ASP.NET Core应用中,依赖注入框架能够正确地管理服务实例的生命周期?
标题反映的是上周五一个同事咨询我的问题,我觉得这是一个很好的问题。这个问题有助于我们深入理解依赖注入框架在ASP.NET Core中的应用,以及服务实例的生命周期。
一、问题重现
我们通过一个简单的实例来模拟该同事遇到的问题。我们采用极简的方式创建了如下这个ASP.NET Core MVC应用。如下面的代码片段所示,除了注册与ASP.NET Core MVC框架相关的服务与中间件之外,我们还调用了IHostBuilder的UseDefaultServiceProvider方法将配置选项ServiceProviderOptions的ValidateScopes属性设置为True,以开启针对服务范围的验证。我们还采用Scoped生命周期模式注册了服务IFoobar,具体的实现类型Foobar还实现了IDisposable接口。
本文共计1588个文字,预计阅读时间需要7分钟。
:反照的难题:探究ASP.NET Core中依赖注入框架与服务实例的生命周期
内容:上周五,一个同事向我咨询了一个问题,我觉得这是一个很好的问题。这个问题有助于我们深入理解ASP.NET Core中依赖注入框架以及服务实例的生命周期。
问题重现:如何确保在ASP.NET Core应用中,依赖注入框架能够正确地管理服务实例的生命周期?
标题反映的是上周五一个同事咨询我的问题,我觉得这是一个很好的问题。这个问题有助于我们深入理解依赖注入框架在ASP.NET Core中的应用,以及服务实例的生命周期。
一、问题重现
我们通过一个简单的实例来模拟该同事遇到的问题。我们采用极简的方式创建了如下这个ASP.NET Core MVC应用。如下面的代码片段所示,除了注册与ASP.NET Core MVC框架相关的服务与中间件之外,我们还调用了IHostBuilder的UseDefaultServiceProvider方法将配置选项ServiceProviderOptions的ValidateScopes属性设置为True,以开启针对服务范围的验证。我们还采用Scoped生命周期模式注册了服务IFoobar,具体的实现类型Foobar还实现了IDisposable接口。

