标签:Core service IServiceProvider Net public attendanceServices
IServiceProvider 一、介绍:IServiceProvider是.Net(Core)框架内置的,它作用是以反射方式,把已经注入到.Net(Core)框架中的指定接口/类进行实例化操作,相对于拷贝构造方法以反射方式,把已经注入到.Net(Core)框架中的指定接口/类进行实例化操作而言,使开发者可以以更加灵活的方式获取指定接口/类实例; 二、相关用法:public class SignInorOut : KafkaListener { public IServiceProvider _service { get; } public static IAttendanceServices _attendanceServices; public SignInorOut(IOptions<KafkaMessage> options, IServiceProvider service) { _service = service; } public override bool Process(string message) { var mess = JsonConvert.DeserializeObject<syd_trafficInput>(message); if (!string.IsNullOrEmpty(mess.name)) { using (var scope = _service.CreateScope()) { _attendanceServices = scope.ServiceProvider.GetRequiredService<IAttendanceServices>(); _attendanceServices.SignInorOut(mess); } } return true; }
以上红色部分就是相关的使用,为什么我们要使用这种模式使用其中一个对象?因为很多时候是无法使用我们的类的,所以需要使用这种模式来或者某一个对象。
谢谢学习!!!
标签:Core,service,IServiceProvider,Net,public,attendanceServices 来源: https://www.cnblogs.com/wangjinya/p/16654112.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。