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

C# wpf Config配置的读取的两种方式

.Net 更新时间:发布时间: 百科书网 趣学号
        1.通过ConfigurationManager来进行读取Config文件中的AppSettings节点

        public struct AppSetting
        {
                public bool IsOK { get; set; } 
                public string Value { get; set; }    
         }

        ///


        /// 获取ConfigurationManager.AppSettings中的值
        ///

        /// keyName
        ///
        public static AppSetting TryGetAppSetting(string name)
        {
            AppSetting appSetting = new AppSetting();
            if (ConfigurationManager.AppSettings.AllKeys.Contains(name))
            {
                appSetting.Value = ConfigurationManager.AppSettings[name];
                appSetting.IsOK = true;
            }
            else
            {
                appSetting.IsOK = false;
            }
            return appSetting;
        }
        ///
        /// 增加或者修改appSettings
        ///

        ///
        ///
        public static void TrySetAppSetting(string name, string value)
        {
            ConfigurationManager.AppSettings [name] = value;
            ExeConfigurationFileMap map = new ExeConfigurationFileMap();
            Assembly assembly = Assembly.GetCallingAssembly();
            Uri uri = new Uri(Path.GetDirectoryName(assembly.CodeBase));
            map.ExeConfigFilename = Path.Combine(uri.LocalPath, assembly.GetName().Name + ".exe.config");
            System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, 0);
            if (config.AppSettings.Settings.AllKeys.Contains(name))
            {
                config.AppSettings.Settings[name].Value = value;
            }
            else
            {
                config.AppSettings.Settings.Add(name,value) ;
            }
            config.Save(System.Configuration.ConfigurationSaveMode.Modified);
            System.Configuration.ConfigurationManager.RefreshSection("appSettings");
        }

2.使用ContainerBuilder 读取固定配置 using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration.Json;

 ///


        /// 配置服务
        ///

        ///
        private static void ConfigureServices(ContainerBuilder containerBuilder)
        {
            containerBuilder.RegisterType();
            containerBuilder.RegisterInstance(ILogger);
            containerBuilder.RegisterType();
            Configuration = new ConfigurationBuilder().SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
           .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
           .Build();
            containerBuilder.RegisterInstance(Configuration.GetSection("AppSettings").Get());
            containerBuilder.RegisterInstance(Configuration.GetSection("ScanSettings").Get());
            Services = containerBuilder.Build();
            App.ILogger.Info("配置和注册");
        }

    public class AppSettings
    {
        public double 属性{ get; set; }

        public double 属性{ get; set; }

        public double 属性{ get; set; }

        public double 属性{ get; set; }

        public double 属性{ get; set; }
    }
    public class ScanSettings
    {
        public double 属性{ get; set; }

         public double 属性{ get; set; }

         public double 属性{ get; set; }
    }

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/955605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号