栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.NetCoer服务WorkerService部署后从配置文件读取内容

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.NetCoer服务WorkerService部署后从配置文件读取内容

本篇解决WorkerService项目本地运行时可以获取到appsettings.json节点参数内容,发布到服务器后获取到的是空值。
解决方式有二选择喜欢的就好。

方式一:
配置文件如图

1.创建一个承载类ConfigString.cs

public class ConfigString
    {
        public static ConfigString configString = new ConfigString();
        /// 
        /// 数据库连接字符串
        /// 
        public string MySqlConnection { get; set; }
        /// 
        /// 每日执行时间-24小时制
        /// 
        public string RunTime { get; set; }
    }

2.到Program给承载类绑定数据

.ConfigureServices((hostContext, services) =>
{
	IConfiguration configuration = hostContext.Configuration;
	ConfigString.configString.MySqlConnection = configuration.GetConnectionString("MySqlConnection");
	ConfigString.configString.RunTime = configuration.GetSection("RunTime").Value;
	services.AddHostedService();
});

3.使用

var sqlConnection = ConfigString.configString.MySqlConnection
var runTime = ConfigString.configString.RunTime

方式二:
在其它文件读自定义字段如

1.上面的有的这里就不再表述了,

.ConfigureServices((hostContext, services) =>
{
	List strs = new List() { "MySqlConnection", "RunTime" };
	var res = getyaml(strs);
	ConfigString.configString.MySqlConnection = res[0];
	ConfigString.configString.RunTime = res[1];
	services.AddHostedService();
});

2.读取.yaml文件节点方法。

		public static List GetYaml(List key)
        {
            try
            {
                var path = Directory.GetCurrentDirectory();
                string filePath = path + "/yamlfile.yaml";
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                StreamReader reader = new StreamReader(fs, System.Text.Encoding.Default);
                var yaml = new YamlStream();
                yaml.Load(reader);
                var mapping = (YamlMappingNode)yaml.Documents[0].RootNode;
                List resStr = new List();
                foreach (var item in key)
                {
                    string str = mapping[item].ToString();
                    resstr.Add(str);
                }
                return resStr;
            }
            catch (Exception e)
            {
                throw;
            }
        }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号