Один экземпляр приложения для двух доменных имен - PullRequest
1 голос
/ 17 июня 2010

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

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

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

Например:

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

Есть плюсы и минусы? Любые другие альтернативы?

[Обновлено] Для справки: это приложение для нескольких предприятий и нескольких клиентов, поскольку оба приложения будут иметь собственную тему для некоторых частей приложения.

Например:

mycompagny.com / Busineess1, mycompagny.com/Busineess2, mycompagny.com/Busineess3, .. а также mycompagny2.com/Busineess2, mycompagny2.com/Busineess2, mycompagny2.com/Busineess3,...

Ответы [ 3 ]

1 голос
/ 17 июня 2010

Да, это делается постоянно ... даже для больших сайтов.

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

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

1 голос
/ 17 июня 2010

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

0 голосов
/ 17 июня 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...