我有一个 ASP.Net Web应用程序,它从印度,中国和美国等许多地区访问。根据此登录页面地理选项,应用程序的功能将在所有页面中更改。
在这个项目中,如果我们为印度用户添加一个功能,但其他地理用户不需要,所以我们使用一些条件,比如如果地理是印度意味着启用该功能,其他人意味着禁用它。问题是,在所有页面中我们都需要使用如此多的条件检查,有时它会产生条件检查开销。
因此,我们计划根据地理位置将Web应用程序划分为单独的应用程序。
我刨的是,在托管环境中
1.将同一项目保留在三个(印度,中国,美国)子目录中。
2.In 根目录,我们只有登录页面。因此,一旦用户选择了地理位置,就意味着我们需要重定向相应的子目录。
通过这种方式,我们可以将基于地理的变化保持为单独的。
但我的疑问是...
如果我们将项目保留为三个(印度,中国,美国)子目录意味着每个目录都有相同的文件,bin和web配置文件,所以我认为我们不能在托管 ASP.Net 应用程序文件夹中维护多个webconfig文件。
这个子目录的想法在IIS托管环境中是可能的还是可能的?
还有其他选择吗?
专家们请分享您的宝贵想法。
提前致谢
拉梅什
下午好拉梅什!
如果我正确理解您的问题,您目前有 3 个单独的 Web 根目录,您希望将它们用作单独的 Web 应用程序,这些应用程序将以某种方式根据地理位置提供给用户。您还希望为每个配置文件维护单独的 Web 配置文件。如果这是您的询问,那么在IIS 7及更高版本中绝对可以进行此设置。
要提供此功能,您可以执行以下操作:
- 在 IIS 中配置单个主站点。此站点可以指向 Web 根目录或什么都没有。如果它指向 Web 根目录,则存在的任何
web.config
都将由我们将在接下来的几个步骤中添加的 Web 应用程序继承。否则,将使用machine.config
。 - 在此主站点下添加 3 个单独的 Web 应用程序。确保添加每个应用程序的根路径,以将各自的 3 个路径用于您的 Web 根目录。如前所述,默认情况下,Web 应用程序将从主站点继承 Web 配置,但您可以在每个 Web 根文件夹中包含单独的
web.config
。