一種Webconfig自動化升級方法
1、方法功能
使用本方法,可以將開發環境最新版本的web.config結構與生產環境環境的config融合,而不用考慮兩個config的版本差異值是多少。使用一種標記的方式,在開發環境webconfig上標記哪些節點的哪些屬性需要保留為生產環境對應的值,而這種標記不影響開發環境web.config的使用。
2、適用範圍
1、將開發環境的webconfig更新到生產環境,不再需要手動改配置值;
2、在多個生產環境中,使用同一份開發環境的webconfig,可轉換得到適合本生產環境的最終config;
3、設計依賴
本方法有兩個依賴:靈活的xml處理指令標記與邏輯固定的指令解釋器,擴展在於指令標記而不是解釋器。
3.1靈活的xml處理指令標記
開發環境的webconfig中,在希望保存原有配置值的元素之上寫上處理指令,目標為"merge"。對於集合下相同名稱的的元素,使用by來指示唯一標識的屬性名稱是什麼,像appSettings下的元素,by="key";使用attr來指示需要保留原有配置值的屬性名稱,預設為全部屬性,可以寫單個,多個中間半形逗號分隔。以下紅色部分就是merge指令,它的存在不會影響到開發環境中webconfig本身的正確性。
3.2固定的指令解釋器
解釋器的功能是將帶有指令的config當作xml解析,遍歷所有元素,如果元素之上存在"merge"指令,則解析指令的數據內容,通過by的值或自身的節點名稱,從舊的config中讀取相配的節點,按照attr描述,進行將舊config的值複製過來,最終得到一份融合後的xml數據,轉存為web.config文件即可。由於功能單一與邏輯固定,解釋器本身不需要進行更新,合併xml大體方法如下:
為了簡單,我做了一下文件右鍵菜單關聯,人工更新web.config更方便:
中公優就業 幫你成就職業夢:
IT教育專業培訓:https://www.ujiuye.com/
IT教育勤工儉學計劃:http://www.ujiuye.com/zt/jyfc/?wt.bd=lyh
大數據時代下做java開發工程師:https://www.ujiuye.com/zt/java/?wt.bd=lyh
※常用的SEO免費工具
※Linux系統文件目錄管理常用的命令
※IT體驗課|網路營銷、UI、WEB最後一批10月14日截止
※iOS開發之UITableView中計時器的幾種實現方式
※最近使用 .NET Core 遇到的一些坑
TAG:IT優就業 |