最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

因為一些配置屬性比較多,存在多組屬性,因此結(jié)合xml解析、緩存技術(shù),實現(xiàn)配置文化的自動解析、存入緩存、緩存依賴實時更新配置內(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>
 /// 取當前根目錄的方法 
 /// </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 //當控件在定時器的觸發(fā)程序中使用時就為空
  {
  rootPath = System.AppDomain.CurrentDomain.BaseDirectory;
  }
 }
 return rootPath;
 }

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

[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)容實例

<?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)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • 簡單了解.NET Framework

    簡單了解.NET Framework

    這篇文章主要介紹了.NET Framework的相關(guān)資料,文中講解非常細致,幫助大家更好的學習.NET Framework,有意向想學習.NET Framework的朋友可以了解下
    2020-07-07
  • 輕量級ORM框架Dapper應用之實現(xiàn)DTO

    輕量級ORM框架Dapper應用之實現(xiàn)DTO

    本文詳細講解了使用Dapper實現(xiàn)DTO的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 基于.Net中的協(xié)變與逆變的深入分析

    基于.Net中的協(xié)變與逆變的深入分析

    本篇文章是對.Net中的協(xié)變與逆變進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • .NET9?AOT部署方案詳解

    .NET9?AOT部署方案詳解

    文章詳細介紹了.NET?AOT(Ahead-of-Time)和JIT(Just-in-Time)兩種編譯和部署方式的對比,包括它們的優(yōu)點和缺點,AOT適合快速啟動、內(nèi)存占用低、性能穩(wěn)定的場景,這篇文章主要介紹了.NET9?AOT部署,需要的朋友可以參考下
    2025-01-01
  • .NET性能調(diào)優(yōu)之一:ANTS Performance Profiler的使用介紹

    .NET性能調(diào)優(yōu)之一:ANTS Performance Profiler的使用介紹

    本系列文章主要會介紹一些.NET性能調(diào)優(yōu)的工具、Web性能優(yōu)化的規(guī)則(如YSlow)及方法等等內(nèi)容。成文前最不希望看到的就是園子里不間斷的“哪個語言好,哪個語言性能高”的爭論,不多說,真正的明白人都應該知道這樣的爭論有沒有意義,希望我們能從實際性能優(yōu)化的角度去討論問題
    2013-01-01
  • .NET實現(xiàn)WebSocket服務端即時通信實例

    .NET實現(xiàn)WebSocket服務端即時通信實例

    本篇文章主要介紹了.NET實現(xiàn)即時通信,WebSocket服務端實例 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • VS2008無法直接查看STL值的解決方法

    VS2008無法直接查看STL值的解決方法

    這篇文章主要為大家詳細介紹了VS2008無法直接查看STL值的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • ASP.NET中GridView 重復表格列合并的實現(xiàn)方法

    ASP.NET中GridView 重復表格列合并的實現(xiàn)方法

    本文通過GridView 和 Repeater 解決有關(guān)表格顯示數(shù)據(jù)重復的數(shù)據(jù)列和并的方法,非常實用,感興趣的朋友一起看下吧
    2016-08-08
  • .NET?Core控制臺應用ConsoleApp讀取appsettings.json配置文件

    .NET?Core控制臺應用ConsoleApp讀取appsettings.json配置文件

    這篇文章介紹了.NET?Core控制臺應用ConsoleApp讀取appsettings.json配置文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解.Net Core 權(quán)限驗證與授權(quán)(AuthorizeFilter、ActionFilterAttribute)

    詳解.Net Core 權(quán)限驗證與授權(quán)(AuthorizeFilter、ActionFilterAttribute)

    這篇文章主要介紹了.Net Core 權(quán)限驗證與授權(quán)(AuthorizeFilter、ActionFilterAttribute),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

河津市| 岑溪市| 阿鲁科尔沁旗| 神农架林区| 阳原县| 将乐县| 沭阳县| 绥化市| 栾城县| 织金县| 澄城县| 武穴市| 侯马市| 佛冈县| 鹿泉市| 弋阳县| 商洛市| 吉水县| 唐海县| 无棣县| 铅山县| 济南市| 望都县| 五大连池市| 澜沧| 栖霞市| 孟津县| 子长县| 商水县| 东乡| 北票市| 论坛| 卓资县| 兴隆县| 南阳市| 盱眙县| 扬州市| 延津县| 呼伦贝尔市| 浦东新区| 彝良县|