[转]基于AJAX的ASP.NET聊天室 & 如何建立共识

好久没有写点东西了,很久以前就对EnterpriseLibrary很感兴趣,但是一直没有时间去研究和使用这个强大的企业库。最近终于狠下心来,下载了Microsoft Enterprise Library 3.0 - December 2006 CTP,但对这么大的一个类库,想一下子进入状态那是不可能的,从中发现配置文件的关键,特别是配置文件的操作那是相当的不错。我想不论是小网站还是大项目,都会涉及到对配置文件的操作,通过收集和我做过得一些项目在这里整理了一下.NET2.0对配置文件的操作。

在客户端应用程序中我们可以用ConfigurationManager这个类来操作,在Web程序中我们可以应用WebConfigurationManager这个类,其实他们使用方法差不多,他们分别位于System.Configuration和System.Web.Configuration命名空间下。我们要对配置文件进行操作当然我们的引入该类所在的命名空间,由于我们经常见到Web应用程序这里主要讨论一下Web.Config中的操作。

对原有的节点的读取等操作.NET都有了很好的封装,下面我们来看看对自定义节点的操作,有了这个咚咚我们就可以在后台添加一个UI以实现对配置文件某些节点的修改和增添,),9L1专I@qKVy!(当然也可以应用于版本升级等。我们先建立一个我们要定义的节点的类,该类必须继承System.Configuraion.ConfigurationSection类,如果有嵌套元素必须继承SystemConfiguration.ConfigurationElement类,在将该类或其集合包含于父节点的类中。

    public class NSection : ConfigurationSection {

        public NSection() {

       

        }

        [ConfigurationProperty("id")]

        public int ID

        {

            get { return (int)this["id"]; }

            set { this["id"] = value; }

        }

 

        [ConfigurationProperty("name")]

        public string Name

        {

            get { return this["name"].ToString(); }

            set { this["name"] = value; }

        }

 

        public override string ToString()

        {

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("id = {0};name = {1}", ID, Name);

            return sb.ToString();

        }

    }

上面我们定义了一个类,即我们要定义的节点,我们在节点中插入一个ID和Name。下面我们把这个节点加入到配置文件中:(注:可能原来有节点存在,

`G理件\EKe[a的59B垠b(_

我们先移除后加入!)看看代码;

 

    protected void Page_Load(object sender, EventArgs e)

    {

        NSection section = new NSection();

        section.ID = 1;

        section.Name = "Test";

        Configuration config = WebConfigurationManager.OpenWebConfiguration("~");

        config.Sections.Remove("nSection");

        config.Sections.Add("nSection", section);

        config.Save();

    }

运行后看看Web.config有什么变化,4Jwtm网9`xJNI教件[|a是不是多了一个nSection节点,由于我是直接在Default.aspx中测试,所以加入configSections中的type属性有点别扭,看看配置(Web.config)文件:

    <configSections>

        <section name="nSection" type="_Default+NSection, App_Web_sct0la5g, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />

    </configSections>

    <nSection id="1" name="Test" />

 

以上实现了对配置文件节点的增添,业D}^IhA|理4]q下面看看对现有文件的修改,同样应用上面的类:

Configuration config1 = WebConfigurationManager.OpenWebConfiguration("~");

        NSection section1 = config1.GetSection("nSection") as NSection;

        section1.ID = 2;

        section1.Name = "Test2";

        config1.Save();

这里可能会出现一个错误,如果你也用Default.aspx文件来直接定义NSection类,应为程序集的应用会出错,即<section name="nSection" type="_Default+NSection, App_Web_sct0la5g, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />。运行上面的程序就可以得到我们所有的结果。有时候一个配置文件显得太扎乱,需要多个配置文件,那如何操作其他的配置文件呢?我们可以通过ConfigurationFileMap fileMap = new ConfigurationFileMap();

        fileMap.MachineConfigFilename = Server.MapPath("NExplus.config");

        System.Configuration.Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(fileMap);来打开其他的和Web.config没有什么区别。值得注意的是其他的配置文件中必须要有: 

<?xml version="1.0"?>

 <configuration>

 </configuration>

否则就会报错。

    我想很多人都用过序列化和反序列化来完成这样的操作,得到的结果是一样的。微软给了我们这个咚咚,我们应该用用J.其实在客户端的应用程序也就是用不同的类而已,用不同的方法来打开配置文件,其他的没什么不同。这篇文章是为了能更好的理解EnterpriseLibrary而作的一个总结,希望对大家也带来一点帮助!

转载于:https://www.cnblogs.com/kuangwenyao/archive/2007/04/23/724081.html

软件介绍: CH9121配置工具内附使用说明和电路原理图。运行后选择所使用的网络适配器,在设备列表中双击列表中的模块,可以获取相应设备的配置信息。配置软件使用说明及举例配置软件完整使用流程如下:1.&nbsp;点击&ldquo;搜索设备&rdquo;,设备列表会显示出子网内模块;2.&nbsp;选择设备列表里面的模块,在左侧修改参数,然后点击&ldquo;配置设备参数&rdquo;;3.&nbsp;配置完成后,模块会重启,稍等一会,点击&nbsp;&ldquo;搜索设备&rdquo;,找到模块,查看配置结果。举例:CH9121&nbsp;工作在&nbsp;TCP&nbsp;客户端模式,计算机上建立&nbsp;TCP&nbsp;服务器,通过&nbsp;TCP&nbsp;方式通信。1.&nbsp;模块上电,通过网线与计算机直接相连(或者将模块和计算机接入到同一个局域网内)。2.&nbsp;计算机端运行串口与&nbsp;TCP/UDP&nbsp;调试工具,创建&nbsp;TCP&nbsp;服务器。设置如下:其中协议类型为&nbsp;TCP&nbsp;SERVER,本地&nbsp;IP&nbsp;为&nbsp;192.168.1.100,端口为&nbsp;1000,当前连接状态:TCP&nbsp;服务器监听中。3.&nbsp;运行&nbsp;NetModuleConfig.exe&nbsp;设置模块参数。根据实际需求修改模块参数,设置网络方式为&nbsp;TCP&nbsp;CLIENT,目的&nbsp;IP,目的端口与&nbsp;TCP&nbsp;SERVER&nbsp;的IP&nbsp;和端口一致:192.168.1.100:1000。根据需求修改波特率等参数。然后点击配置模块。4.&nbsp;&nbsp;此时计算机端串口调试软件显示&nbsp;CH9121&nbsp;模块客户端已连接,选好串口参数,打开串口即可进行数据收发测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值