2011-03-25 66 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,这是特别有用的。

相关问题