connectionstring在iis中声明而不在web.config中声明

时间:2013-07-04 11:02:45

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

然后您可以在代码中调用它:

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

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

答案 1 :(得分:0)

您应该将连接字符串放在web.config中。将连接字符串放在其他位置可能不是可移植的,例如从一台机器移到另一台机器。你也有machine.config

总而言之,放入web.config,如果你关心保密,你可以加密它

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

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