读取XML.config asp.net

来源:互联网 发布:淘宝助理初始化40% 编辑:程序博客网 时间:2024/06/08 01:36

示例XML :webService.config

<?xml version="1.0"?>
<ServicePath>
  <Teacher>http://win01:50/WebInterface/Teacher.asmx</Teacher>
</ServicePath>

 

XML实体类 :ServicePath.cs

using System;
using System.Collections.Generic;
using System.Web;


/// <summary>
///webService model类
/// </summary>
[Serializable]
public class ServicePath
{
 public ServicePath()
 {
  //
  //TODO: 在此处添加构造函数逻辑
  //
 }
    private string teacher;

    public string Teacher
    {
        get { return teacher; }
        set { teacher = value; }
    }

}

读取xml信息:ServiceConfig.cs

using System;
using System.Collections.Generic;
using System.Web;
using System.IO;
using System.Xml.Serialization;

/// <summary>
///ServiceConfig  读取配置文件中的WebService路径
/// </summary>
public class ServiceConfig
{

    //webService配置文件路径
    private string filePath;

   /// <summary>
   /// 初始化路径
   /// </summary>
 public ServiceConfig()
 {

        if (this.filePath == null)
        {
            HttpContext current = HttpContext.Current;
            if (current != null)
            {
                this.filePath = current.Server.MapPath("~/webService.config");
            }
            else
            {
                this.filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "webService.config");
            }
        }

 }


    /// <summary>
    /// 获取配置信息 先从缓存中读取配置信息,若缓存中没有配置信息则从配置文件中读取,并将配置信息设置到缓存
    /// </summary>
    /// <returns></returns>
    public static ServicePath ServicePath()
    {
        ServicePath info;
        info = ConfigReadFromFile();
        return info;
    }
    /// <summary>
    /// 从配置文件获取配置信息
    /// </summary>
    /// <returns>SiteConfigInfo</returns>
    public static ServicePath ConfigReadFromFile()
    {
        using (Stream stream = new FileStream(new ServiceConfig().FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(ServicePath));
            return (ServicePath)serializer.Deserialize(stream);
        }
    }

    /// <summary>
    ///webService配置文件路径
    /// </summary>
    public string FilePath
    {
        get
        {
            return this.filePath;
        }
        set
        {
            this.filePath = value;
        }
    }


}

原创粉丝点击