• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

发布ASP.NET时web.config内容的参数化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

微软的MSDeploy提供了web.config transform方式,提供发布时对web.config的变换能力以应对不同模式的部署。VS2010创建ASP.NET项目的时候就默认提供了debug版和release版的web.config。详细可以参考MSDN。

而还有一些场景是也需要在部署的时候变更web.config内容,但是需要通过外部(例如安装程序)指定需要变换的参数。这就要用到了web.config的参数化。这部分内容似乎MSDN上没有详细讲(或者我没找到)。

这里找到了一些相关的说明(请自备FQ工具)。 

摘要如下:

Step 1: 创建Parameters.xml,设置希望在部署阶段变换的参数。

            没找到对应的schema,手写起来有点麻烦,好歹我这一次需要参数化的内容不多。首先给出一个参考(来自上述博文)

<?xml version="1.0" encoding="utf-8" ?>
<parameters >

  
<parameter name="Log Folder Location" description="Please provide a shared location where the app can write log files to" defaultValue="\\Logs\MvcApp\Logs\" tags="">
    
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='LogFolder']/@value" />
  
</parameter>

  
<parameter name="WCF Service1 Endpoint Address" description="Please provide the Endpoint address for Service1 that this MVC App needs to call" defaultValue="http://localhost:61938/Service1.svc" tags="">
    
<parameterEntry kind="XmlFile" scope="\\web.config$" match="//system.serviceModel/client/endpoint/@address" />
  
</parameter>
  
 
</parameters>

 

            对parameter的各个attribute做一下说明(意译自上述博文) 

            name - 必须属性,不可重复。

            description - 在使用IIS Manager部署时会出现在UI

            defaultValue - 非必须

            scope - 用正则表达式表示该parameter对应什么地方

            kind - 有很多种,但只需记住两种

                 XMLFile - 使用XPath对web.config或者其他xml文件进行变换

                 TextFile - 对非XML文件,可以进行查找替换。例如,可以定义@@replacementme@@以便在部署时替换

            match - 取决于kind,如果kind=XMLFile,那么match就被定义成一个XPath,如果是TextFile,那么match就是你预定义在被变换文件中的一些短语例如@@replacementme@@

Step 2:打包

Step 3:使用IIS Manager或者命令行方式部署,这就不是本文要讨论的内容了。 


[Update] 这里有一篇更详细的文档


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap