示例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;
}
}
}