.Net Core在程序的任意位置使用和注入服务的方法
更新时间:2018年10月20日 11:52:47 作者:Tassdar
这篇文章主要介绍了.Net Core在程序的任意位置使用和注入服务的方法,很多朋友对此问题都不是很清楚,于是写这篇文章帮助大家学习,需要的朋友可以参考下
最近有人问我:我该如何在Startup类之外的地方注入我的服务呢,都写在startup里看着好乱;我该如何在程序的其他地方获取我注入的服务呢;下面给大家写篇文章帮助大家学习。
一、如何在Stratup类外注入服务
首先,我们看startup类的ConfigureServices方法,我们会发现我们所有的服务都是使用IServiceCollection注入进去的
所以我们在其他地方进行注入依然是使用这个接口进行注入,话不多说,上源码
我们首先定义一个静态类,然后在静态类内写一个IServiceCollection的扩展方法,这样我们就可以在这进行和startup里一样注入了。
public static class ServiceConfiguration
{
public static IServiceCollection ConfigServies(this IServiceCollection service)
{
service.AddTransient<INavigation, NavigationLogic>();
service.AddTransient<IUserInfo, UserInfoLogic>();
return service;
}
}
静态类写完后,我们只需要在staatup中注入我们扩展的这个静态类就可以使用这个类中所注入的服务了。
这样我们就在可以拿到ServiceConfiguration类中所注入的所有服务了。
二、如何在程序的任何地方拿到我所注入的服务。
.NET Core默认的注入是使用构造函数的,如果我们想在任意 的地方拿到服务,我们需要使用IServiceProvider接口
我们定义一个静态类,然后定义一个IServiceProvider静态属性
public static class CZHttpContext
{
public static IServiceProvider ServiceProvider{get;set;};
}
然后我们在starup中把他注入进去
使用方法,
var dbContext = CZHttpContext.ServiceProvider.GetService(typeof(CZDbContext)) as CZDbContext;
这样我们就能获取出上图在startup中注入的CZDbContext;
总结
以上所述是小编给大家介绍的.Net Core在程序的任意位置使用和注入服务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对华域联盟网站的支持!
您可能感兴趣的文章:详解ASP.NET Core 在 JSON 文件中配置依赖注入详解ASP.NET Core 中的框架级依赖注入.NET Core中依赖注入AutoMapper的方法示例在.NET Core控制台程序中如何使用依赖注入详解ASP.NET Core DI手动获取注入对象的方法
.net
core
使用
注入服务
相关文章
asp.net(c#)限制用户输入规定的字符和数字的代码这几天在看到一个网站的注册的时候,就只允许输入规定的字符和数字。我就好奇的写了一个校验的代码。呵呵 不知道对大家有没有用。如果有用的话可以保存。没有用就当是看看以下了。 2010-10-10
ASP.NET书籍信息录入实现代码这篇文章主要介绍了ASP.NET书籍信息录入实现代码,特别适合网上书城项目中使用,需要的朋友可以参考下 2015-10-10
ASP.NET4的自动启动特性浅析本篇文章讨论一个你可以选择利用的ASP.NET4中小小的,但很棒的新特性,即自动启动,需要的朋友可以参考下 2015-10-10
ASP.NET编程中的十大技巧ASP.NET编程中的十大技巧… 2006-09-09
如何在ASP.NET Core类库项目中读取配置文件详解这篇文章主要给大家介绍了关于如何在ASP.NET Core类库项目中读取配置文件的相关资料,这是朋友提的一个问题,文中通过示例代码介绍的非常详解,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。 2017-10-10
ASP.NET 页面之间传递值方式优缺点比较URL、Session、Cookies、Server.Transfer、Application和跨页面传送。 2009-11-11
ASP.NET中为TextBox中添加calendar.js示例代码为TextBox中添加calendar.js对于一些新手朋友确实有点难度,下面为大家介绍下ASP.NET中具体的实现方法 2013-11-11
Asp.Net URL重写的具体实现这篇文章主要介绍了Asp.Net URL重写的具体实现,有需要的朋友可以参考一下 2014-01-01
Asp.Net 音频文件上传和播放代码在网上找到一个名叫AspNetPager的第三方控件,将AspNetPager.dll文件引用到项目的Bin中。在网页中可直接调用。 2010-05-05
浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列本文主要介绍了浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列)的具体方法,需要的朋友可以看下 2016-12-12
最新评论

评论(0)