[Parctice Note] ConfigSections配置使用

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载

当前讲述的是控制台项目下的App.config文件配置使用

单节点特性实现

第一步新建控制台项目 TestRedis,确认项目是否引用了System.Configuration
如果没有,手动添加Nuget包

第二步新建配置文件实体类RedisConfig.cs 继承 ConfigurationSection

namespace TestRedis
{
    public class RedisConfig:ConfigurationSection
    {
        public static RedisConfig GetConfig()
        {
            return GetConfig("RedisConfig");
        }
        /// <summary>
        /// 配置文件Redis链接字符
        /// </summary>
        /// <param name="sectionstring"></param>
        /// <returns></returns>
        public static RedisConfig GetConfig(string sectionname)
        {
            RedisConfig section=(RedisConfig)ConfigurationManager.GetSection(sectionname);
            if (section==null)
            {
                throw new ConfigurationErrorsException("Section["+ sectionname + "] is not found");
            }
            return section;
        }
        /// <summary>
        /// 可写的Redis链接地址,IsRequired为false时,节点可以忽略该特性配置
        /// </summary>
        /// 
        [ConfigurationProperty("WriteServerConStr", DefaultValue ="",IsRequired =true,IsKey =false)]
        public string WriteServerConStr
        {
            get
            {
                return (string)base["WriteServerConStr"];
            }
            set
            {
                base["WriteServerConStr"] = value;
            }
        }
        /// <summary>
        /// 可读的Redis链接地址
        /// </summary>
        /// 
        [ConfigurationProperty("ReadServerConStr", DefaultValue = "", IsRequired = true, IsKey = false)]
        public string ReadServerConStr
        {
            get
            {
                return (string)base["ReadServerConStr"];
            }
            set
            {
                base["ReadServerConStr"] = value;
            }
        }

        [ConfigurationProperty("MaxWritePoolSize", DefaultValue = "", IsRequired = true, IsKey = false)]
        public string MaxWritePoolSize
        {
            get
            {
                return (string)base["MaxWritePoolSize"];
            }
            set
            {
                base["MaxWritePoolSize"] = value;
            }
        }
        ////////////////////////////
    }
}

上述代码,是意思获取RedisConfig自定义节点下的WriteServerConStr,…特性
配置文件新增自定义配置


  <!--type定义 命名空间.类名,类所在的程序集名-->
  <configSections>
      <section name="RedisConfig" type="TestRedis.RedisConfig,TestRedis"/>
  </configSections>

    <RedisConfig WriteServerConStr="112233" ReadServerConStr="1111111" MaxWritePoolSize="10"/>

测试下

	class Program
    {
        static void Main(string[] args)
        {
            var config = RedisConfig.GetConfig();
            Console.WriteLine(config.WriteServerConStr);
            Console.WriteLine(config.ReadServerConStr);
            Console.WriteLine(config.MaxWritePoolSize);
            Console.ReadLine();
        }
    }

多节点key/value实现

继上面的内容,我们将App.Config文件修改

 <configSections>
      <section name="RedisConfig" type="TestRedis.RedisConfig,TestRedis"/>
          <!--分组添加节点-->
    <sectionGroup name="MyConfig">
      <section name="Default"
         type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <section name="myNameValue"
          type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
        <!--分组添加节点-->
  </configSections>

    <RedisConfig WriteServerConStr="112233" ReadServerConStr="1111111" MaxWritePoolSize="10"/>

  <MyConfig>
    <Default>
      <add key="Area" value="Default-Fuzhou"/>
      <add key="Device" value="Default-Printer"/>
      <add key="Customer" value="Default-Muf"/>
    </Default>
    <myNameValue>
      <add key="Area" value="myNameValue-Fuzhou"/>
      <add key="Device" value="myNameValue-Printer"/>
      <add key="Customer" value="myNameValue-Muf"/>
    </myNameValue>  
  </MyConfig>

添加实体类 MyConfig.cs

namespace TestRedis
{
    public class MyConfig : NameValueCollection    //DictionarySectionHandler SingleTagSectionHandler 实例返回Hashtable,配置文件也需要修改节点type属性
    {

        //如果继承的是DictionarySectionHandler,SingleTagSectionHandler 这里的 NameValueCollection 用 Hashtable 取代
        public static NameValueCollection GetConfig()
        {
            return GetConfig("MyConfig/Default");
        }


        //如果继承的是DictionarySectionHandler,SingleTagSectionHandler 这里的 NameValueCollection 用 Hashtable 取代
        public static NameValueCollection GetConfig(string sectionname)
        {

            var config = (NameValueCollection)ConfigurationManager.GetSection(sectionname);
            if (config == null)
                throw new ConfigurationErrorsException("Not found the section:["+sectionname+"]");
            return config;
        }

        ///////////////////////
    }
}

测试下

 class Program
    {
        static void Main(string[] args)
        {
        	//默认取MyConfig/Default节点下的 key/value
            var myconfig = MyConfig.GetConfig();
            Console.WriteLine(myconfig["Area"]);
			
			//取MyConfig/Default节点下的 key/value
            var myconfig1 = MyConfig.GetConfig("MyConfig/myNameValue");
            Console.WriteLine(myconfig1["Device"]);

            Console.ReadLine();


        }
    }
YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

Redis Config

复制代码 public sealed class RedisConfigInfo : ConfigurationSection { public static RedisConfigInfo GetConfig() { RedisConfigInfo section = (RedisConfigInfo)ConfigurationManager.GetSect...

大巧不工 666

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

.Net使用Redis详解之ServiceStack.Redis(七)

序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习。 Redis官方推荐的.NET驱动类库为Service.Stack.Redis。然而网上对这个类库的中文文档不是很全面与合理,这篇文章主要就对这个类库做注释展现。不足遗漏之处还望见谅,海涵。 .Net使用...

weixin_34275734的博客 498

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

C# Redis实战

转自:http://blog.youkuaiyun.com/qiujialongjjj/article/details/16945569 一、初步准备 Redis 是一个开源的使用ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充...

aoxu4974的博客 346

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

C# 操作redis

1.安装redis操作工具包,ServiceStack.Redis。2.在App.config/web.config配置Redis信息 &lt;configSections&gt; &lt;section name="RedisConfig" type="redisDemo.redis.RedisConfig,redisDemo" /&gt; &lt;/configSections&...

生面别开 2137

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

C# Redis实战(三)

三、程序配置 在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行。 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息: [html]view plaincopy <?xmlversion="1.0"encoding="utf...

anxiaqian5309的博客 297

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

ConfigurationSection类使用心得

 ConfigurationSection类主要是方便我们用于扩展自定义webcongfig中的节点信息。我们可以方便的通过以下方式获取【自定义节点对象】 【你自定义的对象】 config = (【你自定义的对象】)ConfigurationManager.GetSection("【你自定义的节点名称,如果是sectiongroup的话,请使用XPATH方式】"); 使用自定义节点,可能

cxzhq2002的杂记 1465

RK3588-NANOPC-T6移植ubuntu+xenomai内核

更具网址下载相应的内核。导入到开发板并执行内核。

qq_42007446的博客 573

CloudCompare点云滤波实战:三种植被去除技术的对比与应用

本文详细对比了CloudCompare中三种植被去除技术(低通滤波、CSF滤波和坡度法)的实战应用与效果。通过具体案例和参数优化建议,帮助用户根据地形特征选择最佳滤波方法,提升点云数据处理精度和效率,特别适用于复杂场景下的植被去除需求。

weixin_30689307的博客 84

ConfigurationManager.GetSection()方法的使用

GetSection方法读取的是configSections节点,这个节点在web.config配置文件中,它比较特殊,必须放 置于首节点,也就是说,在它之前不能有其它类型的节点。configSections子节点有section和sectionGroup,后者是前者的集 合节点: &lt;configSections&gt; &lt;section name="CustomCon...

weixin_33842328的博客 1481

STM32独立实现CANOpen主机功能:从零构建轻量级控制方案

本文详细介绍了如何在STM32上不依赖CanFestival库,从零构建一个轻量级的CANOpen主机方案。文章深入剖析了CANOpen主机的三大核心功能——NMT网络管理、SDO参数配置与PDO过程数据交换,并提供了从硬件准备、驱动层构建到协议实现的完整代码实战。该方案代码精简,资源占用低,特别适合在资源受限的STM32平台上实现工业控制、电机驱动等场景的稳定通信。

potato的博客 1072
上一篇: [Note Practice] Sqlserver 添加表注释,字段注释!查询所有表,字段属性
下一篇: [Practice Note] Redis生成本地windows服务
Gen??
博客等级 码龄7年 24粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值