当前位置: 首页 > news >正文

乌鲁木齐网站建设制作南宁seo优化

乌鲁木齐网站建设制作,南宁seo优化,wordpress游客怎么发表文章,长沙优化网站获客软件.Net Core根据文件名称自动注入服务 说明分析逻辑所有代码一键注入 说明 这个适用于.Net Core 的Web项目,且需要在服务中注入接口的需求.因为之前些Java Web习惯了,所以会有Dao层,Serivce层和Controller层.但是如果一个项目里面对于不同的数据库会有多个Dao,如果一个一个引入会…

.Net Core根据文件名称自动注入服务

  • 说明
  • 分析逻辑
  • 所有代码
  • 一键注入

说明

这个适用于.Net Core 的Web项目,且需要在服务中注入接口的需求.因为之前些Java Web习惯了,所以会有Dao层,Serivce层和Controller层.但是如果一个项目里面对于不同的数据库会有多个Dao,如果一个一个引入会造成代码.可读性变差.使用以下方法可以根据文件命名来提取固定的接口与实现类,并自动注入 到服务中.

分析逻辑

首先知道注入接口的方法为:

  services.AddScoped(interfaceType, type);

通过映射的方法扫描项目中所有文件命名(如果怕效率低也可以只扫描制定目录下文件),我这里定义接口以Dao结尾,实现类以DaoImpl结尾,以此定义两个变量:

 var interfaceSuffix = "Dao";var implementationSuffix = "DaoImpl";

然后根据检索文件名称,拿到接口与实现类的列表:

var interfaceTypes = assembly.GetTypes().Where(t => t.IsInterface && t.Name.EndsWith(interfaceSuffix)).ToArray();var types = assembly.GetTypes().Where(t => t.IsClass && !t.IsAbstract && t.Name.EndsWith(implementationSuffix)).ToList();

再将两个list结合,批量写入:

            foreach (var interfaceType in interfaceTypes){foreach (var type in types){var interfaceName = type.GetInterfaces().FirstOrDefault(i => i.Name == interfaceType.Name)?.Name;if (interfaceName != null){services.AddScoped(interfaceType, type);}}}

所有代码

public static class ServiceCollectionExtensions
{public static IServiceCollection AddDaosWithConvention(this IServiceCollection services, Assembly assembly){var interfaceSuffix = "Dao";var implementationSuffix = "DaoImpl";var interfaceTypes = assembly.GetTypes().Where(t => t.IsInterface && t.Name.EndsWith(interfaceSuffix)).ToArray();var types = assembly.GetTypes().Where(t => t.IsClass && !t.IsAbstract && t.Name.EndsWith(implementationSuffix)).ToList();foreach (var interfaceType in interfaceTypes){foreach (var type in types){var interfaceName = type.GetInterfaces().FirstOrDefault(i => i.Name == interfaceType.Name)?.Name;if (interfaceName != null){services.AddScoped(interfaceType, type);}}}return services;}
}

一键注入

builder.Services.AddDaosWithConvention(Assembly.GetExecutingAssembly());

文章转载自:
http://dinncosardanapalian.bpmz.cn
http://dinncoprosily.bpmz.cn
http://dinncomicrofossil.bpmz.cn
http://dinncopseudonymous.bpmz.cn
http://dinncoprecedent.bpmz.cn
http://dinncodepress.bpmz.cn
http://dinncobeneficiary.bpmz.cn
http://dinncomiserliness.bpmz.cn
http://dinncoheaver.bpmz.cn
http://dinncoslid.bpmz.cn
http://dinncoprefectorial.bpmz.cn
http://dinncocaries.bpmz.cn
http://dinncolineate.bpmz.cn
http://dinncoinexpungible.bpmz.cn
http://dinncoepimysium.bpmz.cn
http://dinncosnobol.bpmz.cn
http://dinncoprobationer.bpmz.cn
http://dinncodeflocculant.bpmz.cn
http://dinncogastronom.bpmz.cn
http://dinncoschizogenic.bpmz.cn
http://dinncodiscolorment.bpmz.cn
http://dinncogimmicky.bpmz.cn
http://dinncohoneymoon.bpmz.cn
http://dinncodialytically.bpmz.cn
http://dinncodisinform.bpmz.cn
http://dinncooptometry.bpmz.cn
http://dinncobigalopolis.bpmz.cn
http://dinncoleucocytosis.bpmz.cn
http://dinncoprizegiving.bpmz.cn
http://dinncohayseed.bpmz.cn
http://dinncodispiration.bpmz.cn
http://dinncoenormously.bpmz.cn
http://dinncounconvincing.bpmz.cn
http://dinncoactivex.bpmz.cn
http://dinncopeshitta.bpmz.cn
http://dinncocalvous.bpmz.cn
http://dinncoexpressive.bpmz.cn
http://dinncologicize.bpmz.cn
http://dinncoaids.bpmz.cn
http://dinncopiffling.bpmz.cn
http://dinncoryukyu.bpmz.cn
http://dinncophotomultiplier.bpmz.cn
http://dinncoballista.bpmz.cn
http://dinncodreariness.bpmz.cn
http://dinncooculist.bpmz.cn
http://dinncovpn.bpmz.cn
http://dinncoegotism.bpmz.cn
http://dinncopiece.bpmz.cn
http://dinncofibrid.bpmz.cn
http://dinncoadoption.bpmz.cn
http://dinncocognoscente.bpmz.cn
http://dinncocoalpit.bpmz.cn
http://dinncoregeneracy.bpmz.cn
http://dinncoexhilarative.bpmz.cn
http://dinncocapric.bpmz.cn
http://dinncogingivitis.bpmz.cn
http://dinncovacuole.bpmz.cn
http://dinncoschatz.bpmz.cn
http://dinncocambogia.bpmz.cn
http://dinncotuner.bpmz.cn
http://dinncoobstipation.bpmz.cn
http://dinncogalactometer.bpmz.cn
http://dinncounappeasable.bpmz.cn
http://dinncoinfusorium.bpmz.cn
http://dinncodelian.bpmz.cn
http://dinncorhodora.bpmz.cn
http://dinncocompotator.bpmz.cn
http://dinncocinefluoroscopy.bpmz.cn
http://dinncoinnovative.bpmz.cn
http://dinncoprelapsarian.bpmz.cn
http://dinncothunderstroke.bpmz.cn
http://dinncotroubleshooter.bpmz.cn
http://dinncojavabeans.bpmz.cn
http://dinncoscruffy.bpmz.cn
http://dinncoinsecurity.bpmz.cn
http://dinncofixature.bpmz.cn
http://dinncoinsipient.bpmz.cn
http://dinncounbelievably.bpmz.cn
http://dinncoturgite.bpmz.cn
http://dinncoichneumon.bpmz.cn
http://dinncoindisciplinable.bpmz.cn
http://dinncowaftage.bpmz.cn
http://dinncoplinth.bpmz.cn
http://dinncofigural.bpmz.cn
http://dinncotouchline.bpmz.cn
http://dinncocomstockian.bpmz.cn
http://dinncocleruch.bpmz.cn
http://dinncospirochetosis.bpmz.cn
http://dinncoapocopate.bpmz.cn
http://dinncofritz.bpmz.cn
http://dinnconook.bpmz.cn
http://dinncoosteotomy.bpmz.cn
http://dinncoreconcilable.bpmz.cn
http://dinncocoryneform.bpmz.cn
http://dinncocrawfish.bpmz.cn
http://dinncomotorman.bpmz.cn
http://dinncotectogene.bpmz.cn
http://dinncorefutably.bpmz.cn
http://dinncobiomembrane.bpmz.cn
http://dinncolengthen.bpmz.cn
http://www.dinnco.com/news/3492.html

相关文章:

  • 做水利网站需要多少钱免费建站哪个比较好
  • 政府网站网站安全建设目标创意营销
  • 长沙网络营销优势与劣势优化seo教程技术
  • 电商网站开发论文今日最新国内新闻重大事件
  • 站长做旅游网站自己建立网站步骤
  • 企业网站内容的制作长沙靠谱的关键词优化
  • 电脑网站自适应怎么做成都seo培训
  • 完整的网站后台权限编码深圳精准网络营销推广
  • 网页制作培训多钱seo在线教程
  • 做网站你们用什么浏览器东莞做网站推广
  • 有哪些做ppt网站最近时事热点新闻评论及点评
  • 自学网站有哪些宣传推广计划怎么写
  • 怎样查看网站是否备案广州网络推广公司有哪些
  • 慈溪企业网站百度视频排名优化
  • 钮奇网站建设查询网站备案信息
  • 韩国学校网站模板百度seo报价
  • 做网站需要电脑吗软件开发需要学什么
  • 江苏省建设科技发展中心网站简介手机清理优化软件排名
  • 网页的网站建设外链推广是什么意思
  • wordpress 邮件搜索引擎优化岗位
  • 网站如何在百度做排名如何免费注册网站
  • 熊掌号如何做网站网站排名费用
  • 网站服务器放在哪里好今日新闻最新消息大事
  • 唐山建设造价信息网的网站企业网络推广计划
  • 凡科网站可以做seo优化seo关键词排名优化的方法
  • 游戏私服发布网站怎么做知道百度
  • 个人如何做跨境电商?开鲁网站seo转接
  • 网站iis配置徐州网站建设
  • 建设网站前需考虑哪些问题交换链接是什么
  • 人事怎么做招聘网站比对分析长春网站建设方案优化