我在公共共享主机上部署了两个不同的应用程序(使用hostgator服务)。
一个应用程序部署在根文件夹中,另一个应用程序部署在根目录创建的子文件夹中。但是部署在子文件夹中的应用程序没有使用子文件夹中可用的 web.config 文件,它使用的是根文件夹中可用的相同 web.config。
请帮助我找出如何为共享主机上的所有不同子文件夹使用不同的 web.config 文件。
我在公共共享主机上部署了两个不同的应用程序(使用hostgator服务)。
一个应用程序部署在根文件夹中,另一个应用程序部署在根目录创建的子文件夹中。但是部署在子文件夹中的应用程序没有使用子文件夹中可用的 web.config 文件,它使用的是根文件夹中可用的相同 web.config。
请帮助我找出如何为共享主机上的所有不同子文件夹使用不同的 web.config 文件。
让子目录作为具有自己的 web.config 的单独应用程序的唯一方法是将其配置为单独的 IIS 应用程序。
在专用托管环境中,您可以在 IIS 中执行此操作。但是,您在共享托管平台上的事实并不会自动使其成为不可能。大多数共享主机都提供了一个 Web 界面,您可以使用它来配置您的站点,并且通常(但并非总是)该界面将使您能够将子文件夹设置为单独的应用程序。
我不能告诉你是否有这个选项或者它在哪里,因为我不知道你的主机使用什么控制面板软件/产品(即使我知道了,我可能不熟悉那个特定的产品/version,但值得在您的控制面板中进行挖掘,看看是否可以在某个地方找到它。如果没有,请尝试联系支持 - 他们可能会为您指出正确的方向,他们可能会主动为您做在 IIS 中,或者最坏的情况是他们会告诉您他们不提供该服务(至少那时您会知道,并且可以开始在其他地方寻找新主机)。
不幸的是,没有其他方法可以做到这一点 - 例如,您不能将设置添加到根 web.config 来告诉它将子文件夹视为单独的应用程序,因为应用程序存在于 IIS 级别而不是 ASP.NET 级别.
一般来说,子文件夹中的代码应该使用根文件夹中的web.config,加上子文件夹中的web.config。子文件夹中究竟没有使用哪些设置?
不必为了合并两个配置文件而将子文件夹作为应用程序。如果您希望子 web.config 文件独立,则必须这样做。