我们可以通过两种方式将连接字符串存储在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>
现在我想知道
这两种方法有什么区别?
哪一个更好的方法?
他们的局限是什么?
更新:您能否解释<connectionString>
比<appSetting>
有明显优势?
答案 0 :(得分:13)
connectionStrings
部分专用连接字符串,仅在.NET 2.0中引入。
appSettings
更通用,可用于其他应用程序设置。
您应该使用connectionStrings
部分,因为它也可以encrypted与其他任何设置分开。
答案 1 :(得分:6)
第一种方法可以通过SQLDataSource等一些数据控件直接访问。
答案 2 :(得分:5)
使用connectionStrings元素是处理连接字符串的最合适方式。 appSettings元素是在.NET 2.0之前用于处理连接字符串的方式。您可以使用任一方法,但如果使用connectionString元素,则可能更容易使用多个连接字符串。如果在appSettings中存储了多个连接字符串,则必须先解析每个名称(或值),以确定它是否为连接字符串,然后才能使用它。这导致维护问题。检查是否存在所有connectionString项更容易。
答案 3 :(得分:2)
如果您将连接字符串添加到appSettings部分,则需要使用ConfigurationManager.AppSettings.Get(key)方法手动检索它们。
通过将连接字符串添加到connectionStrings element,.NET可以在创建连接对象时自动按名称查找这些字符串。
答案 4 :(得分:1)
connection-string部分声明了system的连接。我的意思是你的应用程序知道你的字符串是connectionString。如果你将appSettings用于应用程序,它只是任何字符串值。
答案 5 :(得分:0)
除了其他答案中提到的好处之外,connectionStrings
元素还有一个providerName
元素,appSettings
元素没有。如果您的数据源不 SQL Server。