2011-03-25 65 views
1

我們可以存儲連接字符串中Web.config文件有兩種方式
一個是
在Web.Config中存儲連接字符串的位置?

<connectionStrings> 
    <clear/> 
    <add name="LocalSqlServer" 
      connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True" 
      providerName="System.Data.SqlClient" /> 
</connectionStrings> 


另一種是

<appSettings> 
    <add key="ConnectionString" 
     value="server=localhost;database=Northwind;uid=sa;password=secret;" /> 
</appSettings> 

現在我想知道
是這些區別兩種方法?
哪一個更好?
它們的侷限性是什麼?

UPDATE:你能解釋一下<connectionString><appSetting>有什麼明顯的優勢嗎?

回答

5

使用connectionStrings元素是處理連接字符串的最合適的方法。 appSettings元素是在.NET 2.0之前如何處理連接字符串。您可以使用任一種方法,但如果使用connectionString元素,則可能更容易處理多個連接字符串。在appSettings中存儲多個連接字符串時,如果它是連接字符串,則必須先分析每個名稱(或值)才能使用它。這導致維護問題。只檢查是否存在所有connectionString項更容易。

13

connectionStrings部分是致力於連接字符串,並且只在.NET 2.0中引入。

appSettings更爲通用,可用於其他應用程序設置。

您應該使用connectionStrings部分,因爲它也可以是encrypted與其他任何設置分開。

+2

它還通過WebConfigurationManager.ConnectionStrings集合爲您提供強類型的連接字符串對象,您可以隨時使用它。 – 2011-03-25 23:50:30

6

第一種方法可以通過一些數據控件(如SQLDataSource)直接訪問。

1

連接字符串部分聲明system.I的連接意味着你的應用程序知道你的字符串是connectionString。如果您將appSettings用於應用程序,它只是任何字符串值。

0

除了其他答案中提到的好處之外,connectionStrings元素還具有providerName屬性,appSettings元素沒有。如果您的數據源是而不是 SQL Server,這是特別有用的。

相關問題