zoukankan      html  css  js  c++  java
  • .Net Core控制台应用程序使用依赖注入、配置文件等

    .Net Core作为一门新语言,资料实在是太少了,并且国内学习的人也不多,虽然性能还行也跨平台了但是生态圈不发展起来也不行

    刚出来的时候用 .Net Core + Dapper + Mysql 弄了个简单的CMS,过了这么久了版本也更新了以前的一些包也要更新了,所以重新整了下

    今天想用.Net Core控制台程序弄个多线程爬虫,因为我的一些公共的方法都是.Net Core写的,想复用结果遇到太多坑。。。

    坑1:中文编码问题,.Net Core控制台程序中文乱码

    解决:引入 System.Text.Encoding.CodePages 包并在Main方法开始时注册

    //编码注册
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

    坑2:依赖注入问题

    解决:参考dudu文章:http://www.cnblogs.com/dudu/p/5552293.html

    坑3:配置文件问题,比如Mysql链接字符串,Redis链接字符串等都是在配置文件中读取

            static void Main(string[] args)
            {
                //编码注册
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
    
                //配置文件
                var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddEnvironmentVariables();
                IConfigurationRoot configuration = builder.Build();
    
                //依赖注入
                IServiceCollection services = new ServiceCollection();
                services.AddOptions();
                services.Configure<AppSettings>(configuration.GetSection("AppSettings")); //配置文件
                services.AddTransient<IArticleService, ArticleService>();
                services.AddTransient<MySQLConnection, MySQLConnection>();
                IServiceProvider serviceProvider = services.BuildServiceProvider();
                //解析
                GetContent(serviceProvider);
    
                //AddQueue(settingModel);
                Console.ReadKey();
            }

    反正最后就是这样了,中文乱码、依赖注入、配置文件读取都解决了

    有一些包的引用参考Web下的Startup.cs

    大致的包参考下面的图片,引用时注意包的版本号

  • 相关阅读:
    查看每个核的资源情况
    什么时候使用NO_UNNEST
    走FILTER效率高的2种情况
    PL/SQL 包头和包体
    产品研发要配合好
    ElasticSearch 文档并发处理以及文档路由
    ES(ElasticSearch) 索引创建
    BaikalDB技术实现内幕(三)--代价模型实现
    腾讯位置服务地图SDK自定义地图和路况
    mysql数据库优化
  • 原文地址:https://www.cnblogs.com/ideacore/p/6973495.html
Copyright © 2011-2022 走看看