65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Web.Config 或 App.Settings 文件中存储和检索连接字符串

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.30/5 (17投票s)

2008年8月20日

CPOL

4分钟阅读

viewsIcon

122489

如何在 Web.Config 或 App.Settings 文件中存储和检索连接字符串

引言

在我职业生涯中,每次学到新东西,我都想分享。当有人对某个主题是新手时,至少他需要在论坛发帖前先进行谷歌搜索。有时在帖子中找到的答案并不完整。我想借此机会增加在谷歌搜索“如何在 App.Config 文件或 Web.Config 文件中存储连接字符串”时找到的页面和结果。先听我讲我的故事吧。

背景

每次我写一篇文章,都意味着我达到了某个理解层次。当我进入 .NET 世界时,我对创建应用程序感到不知所措。我感兴趣的是 Windows 应用程序,对开发 Web 应用程序不那么感兴趣,也许是因为我参与的项目。有时我只是从 Windows 应用程序中使用 Web 服务。我玩得很开心,我喜欢 ADO.NET,正如你们在我以前的文章中看到的。我享受数据库编程,学到了很多,并且仍在学习,让我的数据层成为我世界中最美好的事物。切入正题。最近我一直将连接字符串硬编码到 DLL(数据访问层)中。这没什么问题,因为我知道我的服务器名称多年来不会改变。但这正是我犯的一个大错误,尤其是在 Windows 应用程序中。一段时间后,我的意思是几周前,保存我数据库的服务器下线了。好吧,数据库必须迁移到另一台服务器,但这确实意味着我需要重新编译我的 DLL。因为我无法在不重新编译 DLL 的情况下更改我的连接字符串。更改连接并再次重新编译 DLL 永远不是一件好事。这意味着我必须寻找一种存储连接字符串的方法。我了解到,我永远不应该硬编码我的连接字符串或任何与我的应用程序设置相关的东西。在本文中,我们将研究如何将连接字符串放置在一个可以随时打开和编辑的文件中,以便在服务器更改或密码更改时进行修改。

Using the Code

我们将在文章中使用多处注释,并且将使用 C# 作为我们的语言。

Start

这是一个非常短的故事,将有一个美好的结局。要将连接字符串存储到 App.Config 文件中,您必须执行以下操作;打开您在其中曾硬编码连接字符串的现有项目的 Visual Studio。添加一个新的 Application.Configuration 文件

在您的项目中,该文件默认将命名为 App.config。打开文件。现在我们将添加我们的连接字符串,如下所示

<add key="MyConstring" Value = "User Id=sa; 
    Password=password;Server=Myserver;Database=Mydatabase "></add>

这意味着我们的文件看起来会像这样

<?xml version="1.0" encoding="utf-8" ?>
< configuration>
< add key="MyConstring" Value = "User Id=sa; 
    Password=password;Server=Myserver;Database=Mydatabase "></add>
< /configuration>

现在请记住,您的连接字符串应添加到 configuration 标记之间。既然您已添加连接字符串,您就需要从 C# 或 VB.NET 代码中访问它,但在本文中我将用 C# 进行演示,但这两种语言差别不大。现在我们需要做的第一件事是添加对 System.Configuration 命名空间的引用。之后,我们将转到 using 并像这样添加它

using System.Configuration;

完成后,让我们看看您曾经硬编码的 string。它会像这样

String strcon = "User Id=sde; Password=topology;
    Server=bkiicoryw004;Database=Tshwane_Valuations "

现在将其转换为这样

string strcon = ConfigurationManager.AppSettings.Get("MyConstring");

然后重新编译您的项目。当您部署应用程序时,您的 App.Config 将与其他依赖项一起部署,因为您的应用程序需要该文件来告知数据源的位置。所以下次服务器名称更改或密码更改时,您不必重新编译应用程序,只需转到“程序文件”并找到您的应用程序目录,然后用文本文件打开 App.Config 并更改连接字符串。上面的示例是针对 Windows 应用程序的,但对于 Web 应用程序,您需要添加一个 Web.Config 文件,就像我所做的那样,并像这样添加您的连接字符串

<configuration>
    <appSettings>

< add key =" MyConstring " value ="User id=sa;
    Password=password;Server=myserver;Database=mydb"></add>
        </appSettings>

</configuration>

当您从代码中访问它时,它应该看起来像这样

string strcon = ConfigurationSettings.AppSettings["MyConstring"];

这是故事的结尾。

结论

至少故事有一个美好的结局。下次服务器更改时,您无需重新编译。密码更改时,您无需重新编译。
希望您喜欢我的小故事。
谢谢。
Ngiyabonga

如何在 Web.Config 或 App.Settings 文件中存储和检索连接字符串 - CodeProject - 代码之家
© . All rights reserved.