【问题标题】:connectionstring declare in iis without declaring in web.config在 iis 中声明连接字符串而不在 web.config 中声明
【发布时间】:2013-07-04 11:02:44
【问题描述】:

我想在 IIS 中声明我的连接字符串并从那里获取它。我不想在 web.config 页面中声明它。相反,我需要知道是否可以从 web.config 中的 iis 获取字符串或从代码文件中读取它。我用的是asp.net 4.0.,用c#编码,服务器是IIS7.5

【问题讨论】:

  • web.config 有什么问题?它对你做了什么?是否有特定原因不适合您的用例?
  • 只是好奇你认为 IIS 中的连接字符串会存储在哪里,我猜是 web.config(很高兴知道是否还有其他内容)
  • 很多特定于网站的设置(例如处理程序)存储在web.config... 请告诉将其存储在 web.config 中的问题以及您希望如何存储它.
  • 感谢您的回复。但我只想知道是否可以在 iis 中设置连接字符串并从那里获取它而无需在 web.config 中声明字符串

标签: c# asp.net iis-7 web-config


【解决方案1】:

根据this article,您可以使用 IIS UI 或命令行来修改您的连接字符串,但这只会以任何方式写入 web.config 文件中的<connectionString> 元素(除非您已设置它可以保存到其他地方)。

此外,如果您愿意,您可以将其存储在另一个 .config 文件中,然后像这样将其拉入您的 web.config 中

<appSettings file="../VirtualDirectory/config/Env.config">
</appSettings>

然后你可以在你的代码中这样调用它:

System.Configuration.ConfigurationManager.AppSettings["DefaultConn"]

如果您希望连接字符串的位置不在您的站点下(即在虚拟目录中),这将非常有用。

【讨论】:

  • 感谢您的回复。我不想从另一个 web.config 文件中读取它。我想从 iis 读取它而不在任何 web.config 中声明它。有可能吗?
  • @polin 可以,因为它基本上只是一行文本,但我建议不要这样做。我发现的一种选择是将其存储在注册表中。 stackoverflow.com/questions/1792911/…codeproject.com/Articles/3881/…
【解决方案2】:

您应该将连接字符串放在 web.config 中。将您的连接字符串放在其他地方可能不便于携带,例如从一台机器移动到另一台机器。你也有 machine.config

总而言之,把 web.config 放进去,如果你关心保密的话,你可以加密它

你也可以有一个单独的配置文件,例如使用 configSource 属性从您的 web.config 引用的 db.config。

<connectionStringss configSource="Configuration\db.config" />

【讨论】:

  • 感谢您的回复。我不想从另一个 web.config 文件中读取它。我想从 iis 读取它而不在任何 web.config 中声明它。有可能吗?
猜你喜欢
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多