总结了一下写项目中遇到的各种方法,总结前辈们的经验,生成了该类库,引用net standard类库,支持net core/net framework.

使用方法

1、nuget 搜索 ZXNetStandardDepot.Common

2、方法说明

2.1 封装了读取net core appsettings文件信息的方法

net core api/mvc 项目需要在Startup中依赖注入

该行代码会读取appsettings.json文件下的key Appsettings

之后,在controller或者bll 等业务层直接读取需要的配置即可,读取方法:

var a = AppSettings.AppSetting("HomeUrl");

如果需要读取多级嵌套的json,则使用冒号分隔多级

var a = AppSettings.AppSetting("ConnectionStrings:MasterDb");

如果是net core 控制台引用,因为控制台没有自动实现依赖注入,需要手动实现

实现方式如下,需要手动引入如下包:

  

Microsoft.Extensions.Configuration 、
Microsoft.Extensions.Configuration.FileExtensions 、
Microsoft.Extensions.Configuration.Json、

Microsoft.Extensions.DependencyInjection、
Microsoft.Extensions.Options、
Microsoft.Extensions.Options.ConfigurationExtensions、

var conf = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", false, true)
.AddJsonFile("appsettings.Development.json", true, true)
.Build();
//注入
IServiceCollection services = new ServiceCollection();
services.AddOptions();
AppSettings.SetAppSetting(conf.GetSection("Appsettings"));
var a = AppSettings.AppSetting("HomeUrl");

2.2 封装类型转换工具

代码中经常会遇到 string与int ,等其他类型的基本转换,try,Convrt 都需要手动处理异常。

而该类库,则进一步封装

//格式转换
string a = "";
int b = a.ToInt();//强制转换,如果字符串为null或者空,则int类型默认为0
int? c =a.ToIntOrNull();//可空转换,如果字符串为null或者空,则int类型默认为null

项目将会持续完善,敬请期待

最新文章

  1. MT4平台经验总结
  2. dynamodb golang query one Item
  3. webpack配置备份
  4. OpenResty(nginx_lua_module)做ES代理以及备份ES数据
  5. ecshop适应PHP7的修改
  6. lua环境安装 转
  7. C,C++宏中#与##的讲解[转]
  8. Objective-C ,ios,iphone开发基础:NSDictionary(字典) 和 NSMutableDictionary
  9. [改善Java代码]数组的真实类型必须是泛型类型的子类型
  10. [C#参考]UI和线程(一)
  11. poj2378(树的dfs)
  12. ATS来了,网页HTTP访问怎么办?
  13. 树莓派.安装Firefox浏览器
  14. 04. 启停redis服务
  15. ckeditor_学习(2) 功能概览
  16. _ZNote_Qt_QDialog_修改button名称
  17. Python 基础整理(未完)
  18. 【Java每日一题】20170223
  19. 全文索引&&地理空间索引
  20. 微信小程序 - 入门指引

热门文章

  1. django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie
  2. VLAD算法浅析, BOF、FV比较
  3. 改进欧拉公式求解常微分方程(c++)
  4. Vue2.0 render: h => h(App)的解释
  5. Hadoop综合大作业1
  6. 第06组 Beta冲刺(4/4)
  7. Typescript 开发环境的最佳实践
  8. swoole流程图
  9. Java基础 try...catch(多个异常) 多个异常采取同样的解决措施
  10. PHP用curl抓取网站数据,仿造IP、伪造来源等,防屏蔽解决方案教程