欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET下使用xml反序列化、緩存依賴實(shí)現(xiàn)個性化配置文件的實(shí)時生效

 更新時間:2017年01月20日 11:10:44   作者:輝色天空  
本文主要介紹了ASP.NET下使用xml反序列化、緩存依賴實(shí)現(xiàn)個性化配置文件的實(shí)時生效的方法。具有一定的參考價值,下面跟著小編一起來看下吧

因?yàn)橐恍┡渲脤傩员容^多,存在多組屬性,因此結(jié)合xml解析、緩存技術(shù),實(shí)現(xiàn)配置文化的自動解析、存入緩存、緩存依賴實(shí)時更新配置內(nèi)容。

配置文件反序列化存入緩存的核心方法:

public Class.Settings GetSettings()
 {
 if (HttpRuntime.Cache["settings"] != null)
  return (Class.Settings)HttpRuntime.Cache["settings"];
 string rootPath = GetPath();
 #region rootPath
 if (rootPath == "")
 {
  log.Write(MsgType.Fatal, "配置文件根目錄rootPath為空");
  return null;
 }
 else
 {
  if (!rootPath.EndsWith("\\"))
  rootPath += "\\";
  rootPath = rootPath + "settings\\settings.config";
 }
 #endregion
 if (!File.Exists(rootPath))
 {
  log.Write(MsgType.Fatal, "配置文件根目錄rootPath為空");
  return null;
 }
 string content = File.ReadAllText(rootPath, Encoding.Default);
 Class.Settings model = PublicMethod.XmlSerialize.DeserializeXML<Class.Settings>(content);
 log.Write(MsgType.Information, "讀取配置文件");
 CacheDependency cd = new CacheDependency(rootPath);
 HttpRuntime.Cache.Add("settings", model, cd, DateTime.Now.AddMinutes(5), TimeSpan.Zero, CacheItemPriority.High, null);
 return model;
 }

上面自動獲取rootPath的方法:

 /// <summary>
 /// 取當(dāng)前根目錄的方法 
 /// </summary>
 private static string GetPath()
 {
 string rootPath = "";
 System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess();
 //WebDev.WebServer visual studio web server
 //xxx.vhost  Winform
 //w3wp   IIS7
 //aspnet_wp  IIS6
 //iisexpress  vs2013
 string processName = p.ProcessName.ToLower();
 if (processName == "aspnet_wp" || processName == "w3wp" || processName == "webdev.webserver" || processName == "iisexpress")
 {
  if (System.Web.HttpContext.Current != null)
  rootPath = System.Web.HttpContext.Current.Server.MapPath("~/");
  else //當(dāng)控件在定時器的觸發(fā)程序中使用時就為空
  {
  rootPath = System.AppDomain.CurrentDomain.BaseDirectory;
  }
 }
 return rootPath;
 }

Settings實(shí)體類的定義,要注意,這里的實(shí)體類要和settings配置文件對應(yīng),否則反序列化會出錯:

[XmlRoot(Namespace = "", IsNullable = false, ElementName = "settings")]
public class Settings
{
 #region 屬性
 [XmlElement("logger")]
 public LoggerConfig logger { get; set; }
 #endregion
 #region 子類
 [XmlType(TypeName = "logger")]
 public class LoggerConfig
 {
 public string loglevel { get; set; }
 public string savepath { get; set; }
 } 
 #endregion
}

settings.config的內(nèi)容實(shí)例

<?xml version='1.0' encoding='utf-8'?>
 <settings>
 <logger>
 <loglevel>0</loglevel>
 <savepath>d:\log</savepath>
 </logger>
<queryurl>http://11.56.254.234:88/shashachaxunserver/shashachaxun</queryurl>
<receiveurl>http://172.16.1.131:88/ThirdPay/ChinaUMS/xml.aspx</receiveurl>
<turnurl>http://172.16.1.131:88/ThirdPay/ChinaUMS/query.aspx</turnurl>
 </chinaums>
 </settings>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • asp.net 分頁鏈接方法

    asp.net 分頁鏈接方法

    asp.net 分頁鏈接方法,需要的朋友可以參考下。
    2010-03-03
  • TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)

    TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)

    為TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)
    2009-01-01
  • Asp.net core利用IIS在windows上進(jìn)行托管步驟詳解

    Asp.net core利用IIS在windows上進(jìn)行托管步驟詳解

    這篇文章主要給大家介紹了關(guān)于Asp.net core利用IIS在windows上進(jìn)行托管步驟的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • asp.net不用設(shè)置iis實(shí)現(xiàn)url重寫 類似偽靜態(tài)路由

    asp.net不用設(shè)置iis實(shí)現(xiàn)url重寫 類似偽靜態(tài)路由

    說到不用設(shè)置iis,主要是為了實(shí)現(xiàn)在虛擬主機(jī)或是拿不到iis操作限的時候,不能添加isap又想實(shí)現(xiàn)類似于靜態(tài)化的程序?qū)崿F(xiàn)方式,先聲明,這里最終要實(shí)現(xiàn)的效果是,最終可以用12345.html替換show.aspx?id=12345這樣的地址訪問功能,支持任意擴(kuò)展名及無擴(kuò)展
    2014-01-01
  • asp.net 使用Response.Filter 過濾非法詞匯

    asp.net 使用Response.Filter 過濾非法詞匯

    一般信息發(fā)布網(wǎng)站,論壇等均具有實(shí)現(xiàn)非法詞匯過濾功能,即當(dāng)用戶錄入非法詞匯時,進(jìn)行替換,使其無法顯示到頁面上,針對此種功能,通常采用的時,在讀取時,在讀到非法詞匯后,進(jìn)行替換。
    2010-03-03
  • ASP.NET Core MVC學(xué)習(xí)教程之路由(Routing)

    ASP.NET Core MVC學(xué)習(xí)教程之路由(Routing)

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core MVC學(xué)習(xí)教程之路由(Routing)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET Core MVC具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • asp.net采集網(wǎng)頁圖片的具體方法

    asp.net采集網(wǎng)頁圖片的具體方法

    采集網(wǎng)頁上圖片的主要關(guān)鍵是在怎么解析出頁面代碼里那些img標(biāo)簽的src屬性
    2013-06-06
  • 關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)

    關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)

    B/S結(jié)構(gòu)導(dǎo)致了Web應(yīng)用程序中打印的特殊性;程序運(yùn)行在瀏覽器中,打印機(jī)在本地,而文件確可能在服務(wù)器上,導(dǎo)致了打印控制不是很靈活,接下來介紹幾種常見的打印技術(shù),感興趣的朋友可以了解下
    2013-01-01
  • ASP.NET筆記之 Httphandler的操作詳解

    ASP.NET筆記之 Httphandler的操作詳解

    本篇文章小編為大家介紹,ASP.NET筆記之 Httphandler的操作詳解。需要的朋友參考下
    2013-04-04
  • ASP.NET(VB)寫的后臺發(fā)送短信實(shí)現(xiàn)代碼

    ASP.NET(VB)寫的后臺發(fā)送短信實(shí)現(xiàn)代碼

    使用vb寫的后臺發(fā)送短信代碼,很實(shí)用的一項(xiàng)功能,感興趣的朋友可以了解下,或許對你學(xué)習(xí)asp.net vb有所幫助
    2013-02-02

最新評論