在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Web.Config Transformation详解,这部分内容比较简单,关键是用没有用过的问题,所以这里希望帮助大家实践一下。 一 概述: 在VS2010中引入在Config 文件中使用XML DOCUMENT TRANSFORM,这一个特性就是帮助你Web.config能方便的从部署配置文件转化到产品配置文件。协助Web.Config Transformation这两个功能就是web.debug.config, web.release.config等.这些文件的最后都会匹配到MSBuild中的配置文件去。 其实是在web.debug.config和web.release.config来写一些描述文件,再通过Transformation Engine来转化。 在Transformation Engine 执行下面任务 首先是识别Locator属性是否设置,来判断是否使用XML转换,接着就是从原配置的XML文件中获得相应节点,再从转换的XML文件中招到适合Transform的值相匹配的节点,然后将他们转化到指定的XML配置文件。在转化中主要依赖的是Transform的attribute.
二:实践 基础部分: 要使用XML-Document-Transform engine就要先引用XML-Document-Transform 命名空间,如果在你的Conifg文件中引用这个命名空间,你就能在本Web.config中使用转换描述。 要使用XML-Document-Transform engine就要先引用XML-Document-Transform 命名空间,如果在你的Conifg文件中引用这个命名空间,你就能在本Web.config中使用转换描述。 下面是在web.release.config中使用 <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
下面有个表,来详细列举locator的语法 (1)Match; 这里你需要就是在你直接匹配的属性名。 <connectionStrings>
<connectionStrings>
<location path="c:\MySite\Admin" >
<assemblies xdt:Transform="Replace">
<assemblies xdt:Transform="Remove">
(3)RemoveAll 删除所有匹配的元素
<connectionStrings>
插入从父节点中插入,(authorization中插入<deny users="*" />)
<authorization>
(5)SetAttributes 直接设置Attributes <compilation
<compilation xdt:Transform="RemoveAttributes(debug,batch)">
(7)InsertAfter (XPath) <authorization> (8)InsertBefore (XPath)
<authorization>
可以在外部定义 XSLT文件,来替换Web.cofig文件。 <appSettings xdt:Transform="XSLT(V:\MyProject\appSettings.xslt)">
总结(Summarize) ASP.NET 4.0中这个特性,主要能帮助大家的应用程序中的配置文件能从Debug平缓的转换到发布配置文件,而所以想的要从开发到产品的发布的转化,这只是其中的一部分,总的看这里主要就写一个描述文件,而描述文件如何和目标文件关联的,就是使用的Transform和Locator这两个属性来控制,再通过XML-Document-Tranformation engine来将他们粘合在一起。 Transform和Locator都做下面这些事情: Replacing a node Inserting a node Delete a node Removing Attributes Setting Attributes Locator; Match on value of a node’s attribute Exact XPath of where to find a node A condition match to find a node 最后别忘记, 他们是xdt扩展元素: xdt:Transform
|
请发表评论