来自IIS中单个网站配置的ASP.net应用程序的多个实例

问题描述

|| 顾名思义,我想在IIS中创建一个网站,该网站根据所请求的主机创建ASP.net应用程序的多个实例。 这样所有实例都在运行相同的代码库,但是每个实例都有自己的Application对象,Session的集合等。 例如 : host1.domain.tld / default.aspx-> this.Application [\“ foo \”] = \“ host1 \” host2.domain.tld / default.aspx-> this.Application [\“ foo \”] = \“ host2 \” host3.domain.tld / default.aspx-> this.Application [\“ foo \”] = \“ host3 \” 我知道我可以将IIS配置为侦听特定的IP地址,并将host(1 | 2 | 3).domain.tld的DNS设置为指向该IP地址。然后使用Global.asax检查请求的主机以设置主机特定的设置。但是该应用程序仍将在服务器上作为单个实例运行。 我宁愿为每个主机运行该应用程序的多个实例,以使它们的运行时完全分开,如果我也可以将它们放在单独的应用程序池中也很好,但这并不是那么重要 当然,我可以将站点分别添加到服务器上的IIS中,但是有大约1600个实例需要配置,这将非常耗时且难以管理。 能够在多个服务器上设置单个实例,然后通过DNS配置或防火墙上的过滤来控制负载平衡,这两者都可以通过编程轻松地控制。 仅供参考-使用的asp.net版本为4.0,并且IIS在Windows Server 2008上运行。 任何建议都很好。 非常感谢     

解决方法

执行此操作的最简单,最可靠的方法是设置各个IIS站点。我知道您不想执行此操作,因为这将非常耗时并且一定很难管理。 但是,您已经创建了一个网站,因此现在也许是时候为该网站的实例创建管理工具了。由于您要配置1600个实例,因此您很有可能已经拥有存储在某个地方(例如数据库或电子表格)的这1600个实例的详细信息。 所以: 将有关1600个实例的数据转换为可用格式,Sql Server数据库(Express或已付费!)可能是理想的选择。 研究IIS7设置API 组合使用一个工具,该工具可让您通过IIS7 API自动/分批从有关它们的数据中创建所有1600个实例。 维护工具并展开它,以准备需要添加或删除实例时不可避免的更改。 不要忘记,将自己的工具组合在一起完成这样的任务会给您带来很大的灵活性,尽管为此可能存在一些值得研究的工具。为此,我建议您在http://www.serverfault.com上询问     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...