3

我知道至少有两种方法可以利用 web.config 文件:

现在,我的问题是这两种方法都只适用于物理路径。但我需要解决一个虚拟目录中的配置文件。

我可以使用哪种其他方法将我的配置资源放在虚拟目录中?

注意:我想这样做,因为我的 Web 应用程序在同一台服务器上有多个实例(并且在许多服务器上)。为了保持部署简单和干净,我想为所有文件(aspx、ascx、图像、css、js 等)保留一个目录,并将 IIS 中的 Web 应用程序针对不同的客户(=域、https 等)指向这个单个目录。在每个 IIS Web 中,我都会有一个名为“custom”的虚拟目录,它指向每个 Web 的不同文件夹。

更新:我想指出这个虚拟目录“custom”不适合包含继承的 web.config - web.config 仅对不包含 aspx/ascx 文件的自定义文件夹有效。

4

3 回答 3

2

我有同样的情况,在阅读了你的帖子后,我意识到 asp.net 出于各种安全原因不允许你这样做。

因此,我转向操作系统寻找与 Linux 软链接功能等效的功能,这反过来又将我引向了 sysinternals的Junction 实用程序。这可以创建一个目录,该目录实际上是该卷上的任何其他目录,asp.net 无法区分,因此很高兴加载实际上不在您网站子目录中的配置部分。为我工作:)

于 2010-11-04T14:57:49.790 回答
1

虚拟目录可以设置为应用程序,您可以在那里放置另一个 web.config。

它将继承父配置的任何更改,您可以在其中添加自定义设置。

于 2008-11-08T16:45:33.813 回答
1

我想做同样的事情但它没有用,所以我决定做相反的事情,因为你知道 web.config 可以被继承,所以我将 IIS 指向包含客户端配置的文件夹(连接字符串、文件路径等)文件和网站文件我将它们与 webconfig 的其余部分放在一个虚拟目录中(它加载 dll 和其他所需的应用程序文件)所以基本上我可以使用网站文件来多个客户端和具有自己数据库连接的客户端字符串和其他特定的客户端设置。

于 2009-02-25T15:16:27.317 回答