Как следует из названия, я хотел бы создать в IIS один веб-сайт, который создает несколько экземпляров приложения ASP.net на основе запрошенного хоста.
Так что все экземпляры работают с одной и той же кодовой базой, но каждый экземпляр имеет свой собственный объект Application, коллекцию сеанса и т. Д.
Например:
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-адреса и настроить DNS для хоста (1 | 2 | 3) .domain.tld, чтобы он указывал на этот IP-адрес.Затем используйте Global.asax для проверки запрошенного хоста, чтобы установить специфические настройки хоста.Но приложение все равно будет работать как один экземпляр на сервере.
Я бы предпочел иметь несколько экземпляров приложения, запущенного для каждого хоста, чтобы их среда выполнения была полностью разделена, также было бы неплохо, если бы я мог также разместить их в отдельных пулах приложений, но это не так важно
Конечно, я мог бы добавить сайты по отдельности в IIS на серверах, но есть около 1600 экземпляров, которые необходимо будет настроить, и это будет очень трудоемким и сложным в управлении.
Возможность настроить отдельные экземпляры на нескольких серверах, а затем управлять балансировкой нагрузки с помощью конфигурации DNS или фильтрации на брандмауэрах, которыми можно легко управлять программно.
К вашему сведению - используемая версия asp.net - 4.0, а IIS работает на Windows Server 2008.
Любые предложения будут полезны.
Большое спасибо