web.config配置web應用程式中的資料庫連接

來源:互聯網
上載者:User
web|程式|資料|資料庫|資料庫連接  

web.config檔案是標準的xml檔案,我們可以使用它來為一台機器下的每一個web應用程式或某個應用程式或一個目錄下的asp.net頁面來進行設定,當然,它也可以為一個單獨的web頁面進行設定。 

如:網站的主目錄是\inetpub\wwwroot\,那麼我們將web.config放置於其下,那麼這個網站中的應用程式將被web.config中的設定所影響。 
e.g.: 
<?xml version="1.0" encoding="gb2312" ?> 
<configuration> 
 <system.web> 
  <compilation defaultlanguage="vb" debug="true" /> 
  <customerrors mode="remoteonly" defaultredirect="js/error.htm"> 
   <error statuscode="404" redirect="js/filenotfound.aspx" /> 
   <error statuscode="500" redirect="js/error.htm" /> 
  </customerrors> 
  <authentication mode="windows" /> 
  <authorization> 
   <allow users="*" /> 
  </authorization> 
  <httpruntime maxrequestlength="4000" usefullyqualifiedredirecturl="true" executiontimeout="45" /> 
  <trace enabled="false" requestlimit="10" pageoutput="false" tracemode="sortbytime" localonly="true" /> 
  <sessionstate mode="inproc" stateconnectionstring="tcpip=127.0.0.1:43444" cookieless="false" timeout="20" /> 
  <globalization requestencoding="gb2312" responseencoding="gb2312" fileencoding="gb2312" /> 
 </system.web> 
 <appsettings> 
  <add key="connstring" value="uid=flash;password=3.1415926;database=news;server=(local)" /> 
 </appsettings> 
</configuration> 

這裡我們討論一下如何在web.config中設定資料庫連接。 

1、串連一個資料庫: 
在web.config中的<configuration>後加入 

<appsettings> 
    <add key="connstring"  
    value="uid=flash;password=3.1415926;database=news;server=(local)" /> 
</appsettings> 

在程式中,你可以使用以下代碼來使用web.config中的設定: 

-----vb.net----- 
imports system.configuration 
dim myvar as string  
 myvar=configurationsettings.appsettings("connstring") 
-----c#----- 
using system.configuration; 
string myvar; 
myvar=configurationsettings.appsettings["connstring"]; 

2、串連多個資料庫 
同理,那就是使用多個不同的key值來設定 

3、設定不同子目錄下應用程式的資料庫連結 
這是一個很有意思的方法,在設定前,先說明一下它的用途: 
如果在一個虛擬目錄下有多個子目錄,每一個子目錄下下的web應用程式都需要串連不同的資料庫,這如何做呢?? 
一種方法是在每一個子目錄下分別建立一個web.config,用它來設定這個目錄下的資料庫連接。但這種方法的問題是需要維護每一個了目錄下的web.config。 

方法二,是只在虛擬目錄下建立一個web.config,在它裡面設定每一個子目錄下的應用程式的資料庫連接。說到這裡,你會想到上面的第二種方法,使用多個不同的key值來設定,這的確是一個辦法。 

這裡,我想說明的是另一種方法:在虛擬目錄下布置web.config,在其中使用location標記,使用同一個key值來串連資料庫,這樣做的好處很明顯,因為用同一個key值,將導致在所有目錄下的應用程式中,都可以使用共同的語句來串連資料庫,這在程式以後發生位置遷移時,並不用修改程式中串連資料庫的語句。 
具體設定如下: 

<location path="news"> 
<appsettings> 
 <add key="connstring" value="uid=flyangel;password=3.1415926;database=news;server=(local)"  /> 
 </appsettings> 
</location> 
<location path="bbs"> 
 <appsettings> 
  <add key="connstring" value="uid=flyangel;password=3.1415926;database=bbs;server=(local)" /> 
 </appsettings> 
</location> 
<location path="soft"> 
 <appsettings> 
  <add key="connstring" value="uid=flyangel;password=3.1415926;database=soft;server=(local)" /> 
 </appsettings> 
</location> 

註:上例中news、bbs、soft分別是虛擬目錄下的子目錄。 
程式中使用串連時,採用下面的方法: 
public function getconnectionstring() 
 configurationsettings.appsettings().item("connstring") 
end sub 

最後需要說明的一點是,為了有效地利用.config檔案,你應當建立標準的鍵名和值定義供所有的應用程式開發人員所用。這樣就可以讓同一項目的開發人員採用公用的項目設定。這些標準在部署應用程式和將其轉化為產品的時候非常有用。




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。