偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺析Visual Studio 2010中常見Web.Config變換

原創(chuàng)
開發(fā) 后端
在這里我們將談到的是Visual Studio 2010中常見Web.Config變換,希望本文能對(duì)大家了解這些變換有所幫助。

【51CTO獨(dú)家特稿】我最近一直在擺弄Visual Studio 2010 Beta版,我最喜歡的一個(gè)新的特點(diǎn)(新特點(diǎn)很多)是新版web.config變換。

Web.config變換是啟動(dòng)設(shè)定,所以你的每個(gè)編譯鏈接設(shè)置都有一個(gè)設(shè)置“delta”(默認(rèn)的是Debug和Release)。當(dāng)你建立你的解決方案(比如當(dāng)你發(fā)布一個(gè)包的時(shí)候)你原始的Web.config會(huì)根據(jù)你的Web.debug.config文件中的設(shè)置變換(以debug設(shè)置為例)。

有很多日志和MSDN可供你參考,但是我想我應(yīng)該寫一個(gè)簡(jiǎn)明扼要的帖子,它可以讓你熟悉怎樣進(jìn)行一些常見的web.config變換。

首先,回顧一下XDT的簡(jiǎn)單知識(shí)(那個(gè)人很偉大)

因?yàn)樗鼘儆趙eb.config替換,所以你得知道每個(gè)XML元素可以有兩個(gè)xdt屬性:xdt:Tranform 和 xdt:Locator。

變換屬性:你想對(duì)XML元素干什么?
你可能想替換它,可能想設(shè)置一個(gè)屬性(SetAttribute),或者移除一個(gè)屬性(RemoveAttribute),等等。

屬性定位:需要變換的元素在哪里?

你可能想要轉(zhuǎn)換一個(gè)符合特殊屬性值的元素。

例1:替換所有的AppSettings

這是一個(gè)極端的情況,只能在你想替換web.config的整個(gè)部分的時(shí)候用。這種情況我將替換web.config中所有的AppSettings并在web.release.config中進(jìn)行新的設(shè)定(這句英文可能有問題,語法不通順!)。下面是我的基線web.config appSettings:

  1. <appSettings> 
  2.   <add key="KeyA" value="ValA"/> 
  3.   <add key="KeyB" value="ValB"/> 
  4. </appSettings> 

現(xiàn)在在我的web.relaese.config文件里面,我應(yīng)該創(chuàng)建一個(gè)appSettings程序,但是我把屬性xdt:Transform設(shè)置成了”Replace”因?yàn)槲蚁胩鎿Q整個(gè)元素。我沒有必要用xdt:Locator屬性,因?yàn)闆]有什么東西需要去定位—我只是想清除原來的內(nèi)容并替換所有的東西。

  1. <appSettings xdt:Transform="Replace"> 
  2.   <add key="ProdKeyA" value="ProdValA"/> 
  3.   <add key="ProdKeyB" value="ProdValB"/> 
  4.   <add key="ProdKeyC" value="ProdValC"/> 
  5. </appSettings> 

請(qǐng)注意在這個(gè)web.release.config文件里我的appSettings程序段有三個(gè)鍵而不是兩個(gè),而且他們也不盡相同。現(xiàn)在讓我們看看當(dāng)我們發(fā)布的時(shí)候在產(chǎn)生的web.config文件中發(fā)生了什么:

  1. <appSettings> 
  2.   <add key="ProdKeyA" value="ProdValA"/> 
  3.   <add key="ProdKeyB" value="ProdValB"/> 
  4.   <add key="ProdKeyC" value="ProdValC"/> 
  5. </appSettings> 

正如我們所預(yù)料的-- web.config appSettings被web.release config中的值替換了。這很簡(jiǎn)單!

例2:替換一個(gè)特定的AppSetting的值

例1可以說是一桿子打倒一片的做法,那么怎么做一點(diǎn)更加實(shí)際的東西呢?讓我們回到原始的AppSettings web.config例子:

  1. <appSettings> 
  2.   <add key="KeyA" value="ValA"/> 
  3.   <add key="KeyB" value="ValB"/> 
  4. </appSettings> 

這次我們想要用更加適合產(chǎn)品環(huán)境的值來代替KeyB的鍵值。我們需要用到xdt:Transform 和 xdt:Locator兩個(gè)屬性。

我們的辦法是定義一個(gè)appSettings程序段。開頭如下:

  1. <appSettings> 
  2.   <add key="KeyB" value="ProdValA" /> 
  3. </appSettings> 

現(xiàn)在我們要添加變換,我們想替換任何跟這個(gè)鍵(KeyB)符合的appSetting。

  1. <appSettings> 
  2.   <add key="KeyB" value="ProdValA" xdt:Transform="Replace" xdt:Locator="Match(key)" /> 
  3. </appSettings> 

一旦我們發(fā)布,***生成的Web.config文件看起來如下:

  1. <appSettings> 
  2.   <add key="KeyA" value="ValA"/> 
  3.   <add key="KeyB" value="ProdValA"/> 
  4. </appSettings> 

非常棒—我們替換了keyB鍵卻保留了keyA鍵(和其他任何鍵,如果他們存在的話)。

例3:Compilation Debug設(shè)置成”true”

這個(gè)情況簡(jiǎn)單,因?yàn)槲④浌景鸭撮_即用的軟件基礎(chǔ)架構(gòu)給了我們—但是我還是想把它在這里再寫一遍,因?yàn)樗U明了一個(gè)常見的情況,而且表明如果有更多的變換,那么就把Compilation Debug設(shè)置成”true”。

  1. <system.web> 
  2.   <compilation xdt:Transform="RemoveAttributes(debug)" /> 
  3. </system.web> 

也有很多方法去進(jìn)行設(shè)定SetAttributes,移除元素,插入元素,等等。

學(xué)無止境

顯然,這只是些淺顯的介紹,但是這就是現(xiàn)在我所需要涉及的深度。在我下次寫帖子之前,你可以去看看web.config 變換的msdn參考文獻(xiàn),地址是:

http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx。

祝你玩得開心!

【編輯推薦】

  1. Visual Studio 2010并行編程及調(diào)試診斷功能詳解
  2. 圖解VS 2010與.NET 4.0多顯示器支持
  3. VS 2010和.NET 4的多定向支持
  4. 圖解VS 2010和.NET 4起始項(xiàng)目模板
  5. VS 2010和.NET 4***步:Web.config文件
責(zé)任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2009-07-29 17:35:43

異常處理web.config配

2009-07-01 17:26:42

web用戶控件Visual Stud

2024-05-24 08:23:06

2011-02-13 17:10:28

Visual Stud

2010-02-23 16:24:47

Visual Stud

2009-11-03 09:21:26

Visual Stud

2009-12-02 09:43:38

Visual Stud

2009-07-07 09:52:17

Visual Stud

2009-09-03 09:10:24

Visual Stud

2009-11-10 13:43:37

Visual Stud

2011-03-01 08:47:40

Visual Stud

2009-08-28 09:48:06

Visual Stud.NET 4Web.config

2010-02-23 10:39:43

Visual Stud

2010-06-22 09:06:36

Visual Stud

2009-08-05 11:02:30

Visual Stud

2009-08-05 14:11:56

ASP.NET Web

2009-07-27 13:43:11

Web.config文ASP.NET

2010-01-25 09:17:01

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)