Один экземпляр приложения для двух доменных имен

У меня есть два веб-приложения в ASP.NET, который является вполне тем же (та же бизнес-логика, тот же DAL, та же схема DB, но другой экземпляр).

Единственной вещью, которую я должен изменить, является дизайн (логотип, цвет...) и текст (глобальный и локальный ресурс) для адресации двух отдельных деловых секторов. Мы не можем "субдомен" приложение, потому что нам нужны два приложения, ", кажется," независим.

Действительно ли это - хорошая идея выполнить только один экземпляр для этих 2 веб-приложений.

Например:

У меня будет 2 имен хостов: mycompagny.com и mycompagny2.com и я поместим HTTP-модуль, который установит строку, которая будет распространена в моем приложении как 'компания' и 'company2'. Я буду instanciate dal только однажды, но строка подключения изменит в зависимости от строки 'компанию' или 'company2'.

Какие-либо за и против? Какие-либо другие альтернативы?

[Обновленный] Только для получения информации это - Мультибизнес-и Многопользовательское приложение, потому что оба приложения будут иметь пользовательскую тему для некоторых частей приложения.

Например:

mycompagny.com/Busineess1, mycompagny.com/Busineess2, mycompagny.com/Busineess3.. и mycompagny2.com/Busineess2, mycompagny2.com/Busineess2, mycompagny2.com/Busineess3...

1
задан dervlap 17 June 2010 в 13:52
поделиться

3 ответа

Похоже, вы описываете многопользовательское приложение. Здесь - хороший обзор некоторых проблем работы с несколькими арендаторами в ASP.Net. На самом деле в последнее время создается довольно много информации о приложениях Multi-Tenant ASP.Net MVC , так что на нее тоже стоит обратить внимание.

1
ответ дан 2 September 2019 в 23:42
поделиться

Да, это делается постоянно .. даже для крупных сайтов.

В ASP.NET вы можете проанализировать Request.Url и определить, какой контент отображать или какие данные извлекать, в зависимости от имени домена.

Когда вы создаете экземпляр DAL, вам нужно указать, к какой базе данных вы хотите подключиться.

1
ответ дан 2 September 2019 в 23:42
поделиться

Значит, при каждом запросе вы проверяете Request.Url, создаете экземпляр DAL и затем обрабатываете свои ресурсы? Я подумал, что вам следует создать экземпляр DAL в Application.Start () ...

Итак, как и «где» установить конфигурацию, чтобы предотвратить передачу строки Request.Url? Я немного волнуюсь, потому что создание экземпляра DAL - дорогостоящий процесс ... так есть ли будущие «проблемы с производительностью»?

0
ответ дан 2 September 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: