ASP.NET:虚拟目录中的外部自定义配置文件-如何?

ASP.NET:虚拟目录中的外部自定义配置文件-如何?,asp.net,iis,configuration,web-config,customization,Asp.net,Iis,Configuration,Web Config,Customization,我知道至少有两种方法可以利用web.config文件: 使用.NET 2.0中引入的configSource属性-关于它 appSettings标记的file属性,用于指向具有相对路径的外部文件。在中描述 现在,我的问题是这两种方法都只对物理路径有效。但是我需要处理虚拟目录中的配置文件 我还可以使用哪种方法将配置资源放在虚拟目录中 注意:我想这样做,因为我在同一台服务器上(以及在许多服务器上)有多个web应用程序实例。为了保持部署的简单和干净,我想为所有文件(aspx、ascx、images

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

  • 使用.NET 2.0中引入的
    configSource
    属性-关于它
  • appSettings标记的
    file
    属性,用于指向具有相对路径的外部文件。在中描述
现在,我的问题是这两种方法都只对物理路径有效。但是我需要处理虚拟目录中的配置文件

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

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


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

虚拟目录可以设置为应用程序,您只需在其中放置另一个web.config


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

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

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


因此,我转向操作系统,以找到一个与Linux软链接功能等效的功能,这反过来又使我从系统内部找到了。这可以创建一个实际上是该卷上任何其他目录的目录,而asp.net无法区分这两个目录之间的区别,因此happy会加载实际上不在网站子目录中的配置部分。适用于我:)

不幸的是,这不是一个选项,因为应用程序不在“自定义”虚拟目录中。我将更新我的问题以明确这一点。