`

ASP.NET配置文件的读、写操作

    博客分类:
  • .NET
阅读更多

虽然web.config文件是一个XML文件,但是由于权限的原因它在部署中不能像操作普通XML文件那样进行修改,在.NET 中提供了一个类用于对Web.config进行修改。

下面是针对web.config修改通用类的代码。

 

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Configuration;

/// <summary>
/// ConfigurationOperator 的摘要说明
/// </summary>
public class ConfigurationOperator:IDisposable
{
    private Configuration config;
	public ConfigurationOperator():this(HttpContext.Current.Request.ApplicationPath)
	{
		//
		// TODO: 在此处添加构造函数逻辑
		//
	}
    public ConfigurationOperator(string path)
    {
        config = WebConfigurationManager.OpenWebConfiguration(path);
    }
    /// <summary>
    /// 设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值;否则添加此节点
    /// </summary>
    /// <param name="key">节点名称</param>
    /// <param name="value">节点值</param>
    public void SetAppSetting(string key, string value)
    {
        AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
        if (appSetting.Settings[key]==null)//如果不存在此节点,则添加
        {
            appSetting.Settings.Add(key, value);
        }
        else//如果存在,则修改
        {
            appSetting.Settings[key].Value = value;
        }
    }
    /// <summary>
    /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值;存在则修改
    /// </summary>
    /// <param name="key"></param>
    /// <param name="connectionString"></param>
    public void SetConnectionString(string key, string connectionString)
    {
        ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");
        if (connectionSetting.ConnectionStrings[key]==null)//如果不存在此节点则添加
        {
            ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key,connectionString);
            connectionSetting.ConnectionStrings.Add(connectionStringSettings);
        }
        else
        {
            connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
        }
    }
    /// <summary>
    /// 保存所做的操作
    /// </summary>
    public void Save()
    {
        config.Save();
        config = null;
    }
    #region IDisposable 成员

    public void Dispose()
    {
        if (config!=null)
        {
            config.Save();
        }
    }

    #endregion
}

 

 把上面的代码放到App_Code文件夹下,我们在项目中就可以直接使用了。

我们通过一个例子来演示如何使用这个类。

前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ConfigModifyDemo.aspx.cs" Inherits="ConfigModifyDemo" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>在部署后修改Web.config的例子</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table style="width: 489px">
            <tr>
                <td style="width: 155px">
                    类型</td>
                <td style="width: 154px">
                    名称</td>
                <td>
                    值</td>
            </tr>
            <tr>
                <td style="width: 155px">
                    程序配置</td>
                <td style="width: 154px">
                    <asp:TextBox ID="txtKey" runat="server"></asp:TextBox><asp:RequiredFieldValidator
                        ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" Display="Dynamic" ControlToValidate="txtKey"></asp:RequiredFieldValidator></td>
                <td>
                    <asp:TextBox ID="txtAppSetting" runat="server"></asp:TextBox></td>
            </tr>
            <tr>
                <td style="width: 155px">
                    数据库连接</td>
                <td style="width: 154px">
                    <asp:TextBox ID="txtConnectionName" runat="server"></asp:TextBox><asp:RequiredFieldValidator
                        ID="RequiredFieldValidator2" runat="server" ErrorMessage="*" ControlToValidate="txtConnectionName" Display="Dynamic"></asp:RequiredFieldValidator></td>
                <td>
                    <asp:TextBox ID="txtConnectionString" runat="server"></asp:TextBox></td>
            </tr>
        </table>
    
    </div>
        <asp:Button ID="btnModify" runat="server" Text="修改" OnClick="btnModify_Click" />
    </form>
</body>
</html>

 

 编写后台代码有时需要增加对配置文件读写操作类所在DLL的引用。

后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Configuration;//注意添加此命名空间

public partial class ConfigModifyDemo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnModify_Click(object sender, EventArgs e)
    {
        string appSetting = txtAppSetting.Text;//appSetting子节点值
        string connectionString = txtConnectionString.Text;//连接字符串
        string key = txtKey.Text;//appSetting子节点key
        string connectionName = txtConnectionName.Text;//连接name
        ConfigurationOperator op = new ConfigurationOperator();
        op.SetAppSetting(key,appSetting);
        op.SetConnectionString(connectionName, connectionString);
        op.Save();
    }
}

 在表单中依次填入下列信息:

county                  china

conn                      Data Source=(local);...

然后去看配置文件有什么变化。

分享到:
评论

相关推荐

    ASP.NET配置文件

    ASP.NET配置文件是.NET框架中用于管理ASP.NET应用程序设置、行为和安全性的核心元素。它为开发者提供了灵活性,可以根据不同的环境或需求调整应用程序的行为。在初学.NET开发时,理解和掌握配置文件的使用至关重要。...

    ASP.NET配置文件Web.config详解

    ASP.NET 配置文件 Web.config 详解 ASP.NET 配置文件 Web.config 是一个 XML 文本文件,用于存储 ASP.NET Web 应用程序的配置信息。它可以出现在应用程序的每一个目录中,默认情况下会在根目录自动创建一个默认的 ...

    【ASP.NET编程知识】ASP.NET配置文件Web.config用法详解.docx

    ASP.NET 配置文件 Web.config 用法详解 ASP.NET 配置文件 Web.config 是一个 XML 文本文件,用来存储 ASP.NET Web 应用程序的配置信息。它可以出现在应用程序的每一个目录中,提供除从父目录继承的配置信息以外的...

    【ASP.NET编程知识】asp.net单文件带进度条上传的解决方案.docx

    web.config文件是一个ASP.NET应用程序的配置文件,能够帮助我们配置文件上传的功能。在本文中,我们使用web.config文件来配置文件上传的最大值。 知识点8:使用MSDN查看文件上传的限制 在本文中,我们使用MSDN来...

    ASP.NET配置管理

    ASP.NET配置文件主要包括以下几个部分: 1. **系统.web**:这部分配置了ASP.NET的核心功能,如身份验证、授权、会话状态、错误处理、编译设置等。例如,你可以在这里定义默认的身份验证模式(如Windows、Forms、...

    asp.net 文本文件的拖放操作源码

    在ASP.NET开发中,实现文本文件的拖放操作可以极大地提升用户体验,使用户能够更加直观、便捷地上传文件。本文将详细讲解如何在ASP.NET环境中使用VB.NET编写拖放功能,特别是针对文本文件的处理。 首先,理解拖放...

    ASP.NET配置文件Web.config 详细解释

    ASP.NET 配置文件 Web.config 详细解释 ASP.NET 配置文件 Web.config 是一个 XML 文本文件,它用来储存 ASP.NET Web 应用程序的配置信息,如身份验证方式等。该文件可以出现在应用程序的每一个目录中,默认情况下会...

    认识ASP.NET配置文件Web.config

    认识ASP.NET配置文件Web.config

    基于ASP.net的企业文件管理系统源码.zip

    在实际项目中,通常会将不同部分的源代码、配置文件、数据库脚本等进行分类,便于管理和理解。例如,"MF00180"可能是项目代码的内部标识符,而“企业文件管理”可能对应的是系统的主模块。 在这个基于ASP.NET的企业...

    asp.net 批量上传文件

    `Web.config`文件是ASP.NET应用程序的配置文件,其中包含了应用程序运行时所需的各种设置。对于文件上传,我们可能需要配置`&lt;httpRuntime&gt;`节,调整如`maxRequestLength`(限制上传文件的大小)和`executionTimeout`...

    asp.net读写ini文件最简单的代码

    在ASP.NET中,我们经常需要处理各种类型的文件,如配置文件、文本文件等。INI文件是早期操作系统中常用的配置文件格式,尽管现在XML或JSON更受欢迎,但在某些场景下,仍然有使用INI文件的需求。 标题中的“asp.net...

    ASP.NET期末复习题

    * 服务器有一个总的配置文件,名为machine.config 十一、DHTML * DHTML 的设计思想是:浏览器从服务器端下载文档后,利用客户端的资源,在不增加服务器端负担和网上传输流量的前提下,使网页的某些元素“动”起来 ...

    ASP.NET写的转盘抽奖程序

    下载的压缩包“zhuanpan”可能包含ASP.NET项目的源代码和所需的配置文件,用户可以在本地安装IIS并配置相应站点来运行这个程序。 综上所述,这个ASP.NET转盘抽奖程序展示了Web开发中的多个核心概念和技术,包括...

    跟我一起学Visual.Studio.2005(8):ASP.NET配置管理

    《跟我一起学Visual Studio 2005(8): ASP.NET配置管理》是关于使用Visual Studio 2005进行ASP.NET应用程序配置管理的一篇教程。在这个教程中,我们将深入探讨如何有效地管理和配置ASP.NET项目,以确保其稳定运行和...

    ASP.NET操作echarts

    综上所述,ASP.NET 操作 ECharts 的过程包括了前后端数据交互、ECharts 图表的初始化和配置,以及数据的动态更新。通过这个过程,我们可以轻松地将 ASP.NET 后台数据库中的数据转化为生动直观的图表,从而更好地理解...

    ASP.NET配置数据库页面

    在这个“ASP.NET配置数据库页面”的项目中,我们聚焦于如何在ASP.NET环境中设置和操作数据库。 首先,我们要理解ASP.NET中的数据库配置主要涉及以下关键知识点: 1. **数据访问层(DAL)**:这是应用程序与数据库...

    ASP.NET 2.0 读取配置文件

    在描述中提到的"ASP.NET 2.0 读取配置文件[INI]",虽然通常ASP.NET使用XML格式的Web.config文件,但这里指的是读取传统的INI文件,这是一种简单文本格式的配置文件,广泛应用于早期的Windows系统和某些跨平台的应用...

    一个很方便的.net配置文件管理类,省去类型转换之类的麻烦,

    标题中的“一个很方便的.net配置文件管理类”指的是在.NET框架中用于简化应用程序配置文件处理的自定义类。这类类库通常提供了一种简洁的方法来读取、写入和管理App.config或Web.config等配置文件,避免了使用System...

    ASP.NET企业文件管理系统

    在用户界面设计上,ASP.NET提供了多种网页控件,如GridView、ListView等,用于展示文件列表,方便用户进行文件操作。同时,系统可能会集成AJAX技术,实现页面的部分刷新,提高用户体验。另外,考虑到多用户协作,...

    ASP.net文件管理器

    ASP.NET 文件管理器是一款...在实际使用中,开发者需要将这个组件集成到他们的ASP.NET应用中,配置必要的连接信息,如服务器路径、用户认证和权限设置,然后用户就可以通过浏览器访问这个功能强大的文件管理系统了。

Global site tag (gtag.js) - Google Analytics