快速业务通道

.Net网站的独立配置文件读写解决方案

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-03

在开发网站的时候我们常常会用到一些配置文件,在.Net2.0下面微软给我们提供了一个ConfigurationManager这样一个类来管理存储于配置文件中的信息,这样我们将配置项写在web.config 文件的AppSettings这一节里面就可以使用键值直接来访问它了.就象这样System.Configuration.ConfigurationManager.AppSettings["MyNameIs"], 但是这里有个问题就是我们有一些设置希望在运行时可以通过网络访问的形式去作配置而不是手动修改web.config,但是ConfigurationManager并没有给我们提供一个方法来保存我们的设置(或者是我不知道,还有别的方法吧).还有一个原因是因为.Net运行框架会在应用程序启动后自动监视web.config,一旦这个文件被修改应用程序会自动重启这样的话我们的一些状态数据就会丢失,有没有更好的办法呢,其实是有的,我们的解决方案就是使用独立的可读写配置文件.先来看看代码吧.
using System;
using System.Web;
using System.IO;
using System.Xml.Serialization;

namespace GB.Utility
{
/// <summary>
/// 全站配置文件读写 
/// </summary>
    [Serializable]
    
public class SiteSettings
    {
        
private static readonly string currentConfigFileName = "GBSettings.config";

        
#region PublicProperty
        
#region AbsoluteWebRoot
        
private string absoluteWebRoot;
        
/// <summary>
        
/// 站点的绝对Url引用
        
/// </summary>
        public string AbsoluteWebRoot
        {
            
get { return absoluteWebRoot; }
            
set { absoluteWebRoot = string.IsNullOrEmpty(value) ? string.Empty : value; }
        }
               
#endregion

        
#region RelativeWebRoot
        
private string relativeWebRoot;
        
/// <summary>
        
/// 站点的相对Url引用
        
/// </summary>
        public string RelativeWebRoot
        {
            
get { return relativeWebRoot; }
            
set { relativeWebRoot = string.IsNullOrEmpty(value) ? string.Empty : value; }
        }
        
#endregion

        
#region DefaultPageSize
        
private int defaultPageSize;
        
/// <summary>
        
/// 默认的分页大小
        
/// </summary>
        public int DefaultPageSize
        {
            
get { return defaultPageSize; }
            
set { defaultPageSize = value; }
        }
        
#endregion

        
#region DefaultAbstractSize
        
private int defaultAbstractSize;
        
/// <summary>
        
/// 默认的摘要长度值
        
/// </summary>
        public int DefaultAbstractSize
        {
            
get { return defaultAbstractSize; }
            
set { defaultAbstractSize = value; }
        }
        
#endregion

        
#region Theme
        
private string theme;
        
/// <summary>
        
/// 风格设定
        
/// </summary>
        public string Theme
        {
            
get { return theme; }
            
set { theme = value; }
        }
        
#endregion 
        
#endregion

        
#region Common Members

        
#region Private Members
        
private static string _configurationFilePath =
            System.IO.Path.Combine(
            System.AppDomain.CurrentDomain.BaseDirectory.Replace(
"/", System.IO.Path.DirectorySeparatorChar.ToString()),
            currentConfigFileName);

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号