qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Azure中的配置管理

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

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

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 普兰店市| 新余市| 应城市| 沙洋县| 庆安县| 金昌市| 铜山县| 永德县| 清水河县| 尉氏县| 安顺市| 龙里县| 云林县| 科尔| 星座| 阿合奇县| 灵石县| 彭水| 扎囊县| 衡山县| 抚州市| 永修县| 文化| 临夏市| 茶陵县| 高雄市| 教育| 万盛区| 正镶白旗| 英吉沙县| 瑞安市| 崇左市| 深州市| 吉水县| 盐亭县| 体育| 隆林| 基隆市| 彝良县| 和静县| 伊通|