开发手记之实现web.config的快速配置(转载)

开发手记之实现web.config的快速配置

  开发手记之实现web.config的快速配置

作者:Anytao

 

问题简述:

       在Web开发中,对web.cofig进行配置是非技术人员无法胜任的工作,但是常常需要由客户自己来进行简单配置的时候,需要提供一个有效的工具来指导客户完成这项操作,并且防止无效或错误的更改。

解决方案:

      首先,必须了解对系统的配置主要包括machine.config和web.config两个部分,这两个文件本质上是Xml文件,包含了ASP.NET的所有配置信息。因此,对系统的配置,实际上是对Xml文件的操作,因此,我们可以采取对Xml文件的读写操作,来实现快速配置的思路。在此我们主要以web.config为例来说明,Web.config中的各个数据项表示的内容,不是探讨的重点,具体内容可以参考Msdn的说明。

      实现的核心代码为:

  private void btnOK_Click(object sender, System.EventArgs e)
  {
   //定义变量
   string strLocation=txtLocation.Text;
   string strProvider=txtProvider.Text;
   string strMode=txtMode.Text;
   string strUser=txtUser.Text;
   string strDataSource=txtDataSource.Text;
   string strPwd=txtPwd.Text;

   string semicolon=";";

   //操作XML节点
   XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load("myXML.xml");
   XmlNode xNode=xmlDoc.SelectSingleNode("//appSettings/add[@key='oledbConnection1.ConnectionString']");
   if(xNode!=null)
   {
    xNode.Attributes["value"].Value="Location="+strLocation+semicolon+"Provider="+strProvider+semicolon+
     "Mode="+strMode+semicolon+"User ID="+strUser+semicolon+"Data Source="+strDataSource+semicolon+
     "Password="+strPwd;
   }
   xmlDoc.Save("myXML.xml");

   MessageBox.Show("设置成功!");
  }



代码中,我们以myXML.xml为例,可以代表其他任何XML的修改。

这些只是简单的一个数据项的操作,更进一步的操作需要继续完善。

在下面的操作界面上,非技术人员就可以很方便的修改其中的各项信息。
2.JPG
希望各位可以多提意见,有需要讨论或代码请留邮箱,高手见笑。

Enjoy.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET 2.0中实现模板中的数据绑定

模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性。你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件)。ASP.NET 2.0仍然支持这些控件,但在模板中绑定数据的语法已经被简化和改善了。本文将讨论在数据绑…

现实世界的虚拟神话

本文摘自:[url]http://www.doserv.com/news/f/2007-03-12/0017031936.shtml[/url]如今,服务器虚拟化已经成为业界的最为热门的话题之一。虚拟化技术自问世以来,人们纷纷为其神奇的效果而赞不绝口。正如VMware创始人兼CEO Diane Greene所说&am…

GridView中妙用LinkButton

说明:近来看到不少人想在DataGrid、GridView 使用比较灵活的方式来编辑、查看、删除其中的数据选项(当然它们本身也内置了这些功能),却苦于找不到比较好的办法,本人结合实际代码说明一下如何使用LinkButton来实现上述功…

计算机ppt文字1是什么原因,ppt让答案一个个出现,ppt让文字一个个出现

在使用Windows 10工作时会遇到形形色色的问题,比如开机发现无法连接网络。那么如何进行故障排除呢?下面小编与你分享具体步骤和方法。工具/材料Windows 10操作系统操作方法01启动Windows 10操作系统,如图所示。点击任务栏搜索框,开…

抢先试用ReSharper UnitRun™ 1.0

在发布又一款免费的VS2005单元测试插件后随即安装了个ReSharper UnitRun™ 1.0玩玩,发现的确有其亮点,尤其喜欢的是在执行单元测试的过程中居然支持调试。 在安装过程中遇到个问题,一个注册的异常,后来到其官网上注册并得到个lice…

python day27

今日内容 知识点补充 import jsonfrom datetime import datetime,date""" res {c1:datetime.today(),c2:date.today()} print(json.dumps(res)) 返回结果:TypeError: Object of type datetime is not JSON serializable """ class MyJson(json.…

硬件_LED

LED 平台&#xff1a;全志A64 源码&#xff1a;Android 7.1 Linux 3.1 led.c 1 //没有使用平台总线2 3 #include <linux/init.h>4 #include <linux/module.h>5 #include <linux/fs.h>6 #include <linux/device.h>7 #include <linux/slab.h>8 #i…

水星路由器DNS服务器未响应,水星路由器进不去设置怎么办

摘 要水星路由器进不去设置怎么办&#xff1f;这里要分两种情况&#xff0c;旧版水星路由器与新版水星路由器一、旧版水星路由器 1、当打开水星路由器设置页面&#xff0c;如果提示你输入用户名和密码&#xff0c;如下图所示。说明这是一台旧版本的水星路由器水星路由器进不去设…

zookeeper 简介

什么是ZookeeperZookeeper是一个分布式开源框架&#xff0c;提供了协调分布式应用的基本服务&#xff0c;它向外部应用暴露一组通用服务——分布式同步&#xff08;Distributed Synchronization&#xff09;、命名服务&#xff08;Naming Service&#xff09;、集群维护&#x…

小程序的服务器怎么与数据库连接,小程序怎么连接服务器数据库

小程序怎么连接服务器数据库 内容精选换一换“数据导出”章节适用于MRS 3.x及后续版本。Loader是实现MRS与关系型数据库、文件系统之间交换数据和文件的ETL工具&#xff0c;支持将数据或者文件从MRS系统中导出到关系型数据库或文件系统中。Loader支持如下数据导出方式&#xff…

啪啪三国2获取服务器信息,啪啪三国2怎么快速的获得资源?

啪啪三国2&#xff1a;在啪啪三国2手游中有很多特色的玩法&#xff0c;还有很多资源&#xff0c;游戏中有很多地方需要用到&#xff0c;有点供不应求的感觉&#xff0c;很多玩加都想要快速的获得各种资源。小伙伴们知道该怎么快速获得吗&#xff1f;这里小编就给大家来详细的介…

C#常用的文件操作 (转)

C#常用的文件操作 C#常用的文件操作&#xff08;网上收集&#xff09; C#写入/读出文本文件&#xff0c;包括创建文件&#xff0c;追加文件&#xff0c;修改文件&#xff0c;等等操作&#xff0c;个人觉得很适用&#xff0c;所以收藏了&#xff0c;和大家分享 publicvoidPage…

CSS3动画和VUE动画整理

W3School CSS3过渡 浏览器支持 Internet Explorer 10、Firefox、Chrome 以及 Opera 支持 transition 属性。Safari 需要前缀 -webkit-。 注释&#xff1a;Internet Explorer 9 以及更早的版本&#xff0c;不支持 transition 属性。 注释&#xff1a;Chrome 25 以及更早的版本…

VueJS项目

VueJS项目 - awesome-vue vue-cli引用jquery, bootstrap, bootstrap-table 引用jquery 找到vue-project/build/webpack.base.conf.js文件&#xff0c;在module.exports下添加plugins, 需要在之前&#xff0c;引用webpack, var webpack require(webpack); 参考 plugins: [n…

[OSG]如何用Shader得到物体的世界坐标

最近群里面有个朋友问我关于如何得到OpenGL世界坐标的问题&#xff0c;当时我还弄错了&#xff0c;误以为gl_ModelViewMatrix*gl_Vertex就是世界坐标。因最近也突然遇到了世界坐标的问题&#xff0c;所以花了一些时间来研究这个问题&#xff0c;网上也有人问&#xff0c;但或许…

Exposing Windows Forms Controls as ActiveX controls

转&#xff1a;http://www.codeproject.com/cs/miscctrl/exposingdotnetcontrols.asp?df100&forumid2373&exp0&select1359005 Download demo project - 15 Kb This article will describe how to utilise Windows Forms controls outside of .NET. In a recent MS…

QT_C++

QT_C C 与 C 区别&#xff1a;  面向过程&#xff1a;吃&#xff08;狗&#xff0c;屎&#xff09; 面向对象&#xff1a;狗. 吃&#xff08;屎&#xff09; ^ . ^ 博客&#xff1a;https://www.runoob.com/cplusplus/cpp-tutorial.html 插入符&#xff1a;<< 控制符…

静态路由的实现

在路由器A上做如下配置&#xff1a;router(config)#hostname AA(config)#interface f0/0A(config-if)#ip address 192.168.1.1 255.255.255.0 A(config-if)#no shutdownA(config)#interface f0/1A(config-if)#ip address 192.168.2.1 255.255.255.0 A(config-if)#no shutdownA(…

2019-08-09 纪中NOIP模拟赛B组

T1 [JZOJ1035] 粉刷匠 题目描述 windy有N条木板需要被粉刷。 每条木板被分为M个格子。 每个格子要被刷成红色或蓝色。 windy每次粉刷&#xff0c;只能选择一条木板上一段连续的格子&#xff0c;然后涂上一种颜色。 每个格子最多只能被粉刷一次。 如果windy只能粉刷 T 次&#x…

vue3实现打字机的效果

前言&#xff1a; vue3项目中实现打字机的效果。 实现效果&#xff1a; 实现步骤&#xff1a; 1、安装插件 npm i vue3typed 2、main.js中配置 import vuetyped from vue3typedconst app createApp(App) // 挂载打字机的全局方法 app.use(vuetyped) 3、界面使用 <vuet…