【问题标题】:Changing your web.config from your ASP.NET application从 ASP.NET 应用程序更改 web.config
【发布时间】:2010-10-12 14:42:14
【问题描述】:

我需要更改 web.config 文件中的数据库连接字符串,但不知道如何去做。有人有这方面的经验吗?

更新
抱歉,上面不是很清楚,我希望能够在 Web 应用程序部署后更改连接字符串

【问题讨论】:

  • 您知道修改 web.config 会重置您的网站吗?你不应该那样做。
  • 我不知道,谢谢。在这种情况下,虽然数据库连接也会发生变化,但可以重置网站。
  • 我会为您从 web.config 中的代码更改的任何标签添加注释,以提醒查看者此值可能会更改。将来接管此代码的人如果不知道值可以从代码中更改,则可能会感到困惑。

标签: asp.net web-config connection-string


【解决方案1】:
Configuration myConfiguration = WebConfigurationManager.OpenWebConfiguration("~");
//appSettings configuration
myConfiguration.AppSettings.Settings["xxx"].Value = "yyy";
//database connections configuration
myConfiguration.ConnectionStrings.ConnectionStrings["xxxconnection"].ConnectionString = "yyy";
myConfiguration.Save();

http://msdn.microsoft.com/en-us/library/system.configuration.configuration.connectionstrings.aspx

编辑:

http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringssection.aspx

另外,正如其他人所指出的,您需要设置正确的权限,但有时使用共享主机(根据经验)他们会询问您帐户的用户名和密码,一旦您输入,您的 web.config 就是改变了。所以尝试一下,如果它不起作用并且您无权设置权限,那么恐怕您必须查看其他内容。

祝你好运!

【讨论】:

  • 谢谢 - 我必须对上面的代码进行的一项更改位于第 3 行:myConfiguration.ConnectionStrings.ConnectionStrings["xxxconnection"].ConnectionString = "yyy";
  • 确实如此,只是等到我允许接受答案:)
【解决方案2】:

使用WebConfigurationManager 类,如here 所示。

由于它是非常敏感的信息,因此需要按照this site(David Stratton 提出的链接)中的说明设置适当的权限。

【讨论】:

  • 好答案。不过,还有更多……需要正确设置权限。本文也涵盖了这一点:odetocode.com/Articles/418.aspx
  • @David Stratton:你是对的,权限应该正确设置。考虑到这一点,我会更新我的答案,谢谢。
猜你喜欢
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
相关资源
最近更新 更多