qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          Azure中的配置管理

          最近一直在做項目遷移的工作,由傳統(tǒng)的ASP.NET轉(zhuǎn)到Windows Azure,這里介紹一下Azure的配置管理。在傳統(tǒng)的WinForm或ASP.NET項目下,配置文件為web.config(app.config),而Cloud Service項目的配置文件是*.cscfg。
           
            一個環(huán)境一個配置文件,并且提供可視化編輯。
            
            但這里的配置有一個缺點,目前Azure SDK2.0還不支持多級配置,傳統(tǒng)配置下的appSettings和connectionStrings在這里只有合并了。在保證對現(xiàn)有系統(tǒng)最小影響的改動下,支持Azure的配置只需要引入一個對象CloudConfigurationManager,據(jù)MSDN介紹,CloudConfigurationManager可以智能識別當前運行的環(huán)境,讀取配置對象,也就說:當你的應(yīng)用運行在傳統(tǒng)的本地IIS時,他會讀取Web.config;反過來,當你的應(yīng)用運行在Cloud上,它會讀取cscfg。
            既然有了類庫的支持,我們對其封裝一下即可。注意在Azure配置中,appSettings和connectionStrings是同一級的,用CloudConfigurationManager.GetSetting就可以讀到,當然,這時appSettings和connectionStrings的所有配置Key不能有同名的。如果CloudConfigurationManager.GetSetting獲取的Value為空,說明此Key有可能是App(Web).config下面的connectionStrings節(jié)點配置。
          public static class SettingsManager
          {
          /// <summary>
          /// 獲取Azure或App(Web).config下的配置節(jié)點及連接字符串
          /// </summary>
          /// <param name="key"></param>
          /// <returns></returns>
          public static string GetSetting(string key)
          {
          string value = CloudConfigurationManager.GetSetting(key);
          if (string.IsNullOrEmpty(value))
          {
          if (null != ConfigurationManager.ConnectionStrings[key])
          value = ConfigurationManager.ConnectionStrings[key].ConnectionString;
          }
          return value;
          }
          }
            這樣,一個簡單的配置讀取類就寫好了,將系統(tǒng)中所有讀取配置的方法統(tǒng)一改成SettingsManager.GetSetting(key)即可。本地開發(fā)時,可以拋棄Azure的模擬器(硬件要求高),從而選擇我們較為熟悉本地IIS;Azure用于部署QA/生產(chǎn)環(huán)境/預(yù)部署,一種讀取方式,適應(yīng)兩種場景。
            Azure配置支持在線修改,避免使用遠程桌面手動操作。
           

          posted on 2014-09-19 13:17 順其自然EVO 閱讀(226) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 灵山县| 阿勒泰市| 江北区| 拉萨市| 茶陵县| 上饶县| 遵义县| 平乡县| 麻城市| 西和县| 海城市| 赣榆县| 朝阳县| 永修县| 五华县| 芦山县| 东安县| 琼海市| 泸溪县| 罗田县| 阿荣旗| 手游| 乐山市| 巩义市| 连南| 噶尔县| 孟州市| 关岭| 仁化县| 时尚| 武隆县| 延寿县| 永胜县| 土默特右旗| 诏安县| 县级市| 馆陶县| 扎赉特旗| 宁国市| 遂宁市| 桂林市|