ASP.NET MVC 3 - обработка нескольких доменов и совместное использование одной базы кода - PullRequest
8 голосов
/ 31 июля 2011

Я задумался о том, как лучше всего это сделать в течение пары дней, и поинтересовался, что подумают все остальные.

Мы хотим перестроить и обновить веб-сайты всех наших компаний до ASP.NET MVC 3 ииспользовать общий шаблон для всех (в основном);у нас уже есть один сайт в MVC 3, который будет донорским сайтом для остальных.

Сначала я собирался просто скопировать / вставить проект, заменить весь контент контентом, относящимся к каждому сайту, и все готово.с этим, но это сделало бы обновление шаблонов / таблиц стилей / помощников в будущем более трудным - у нас есть только несколько веб-сайтов, поэтому это не большая проблема.

Идея 1

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

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

Вот гдестановится сложно, потому что мне нужно будет маршрутизировать на уровне домена - так что вместо маршрутизации к контроллеру company2 в текущем домене (например, http://www.groupcompany.ex/company2) я хочу направлять запросы в собственный домен company2 - http://www.company2.ex/{controller}/{action}/{id}.

Идея 2

В качестве альтернативы я мог бы создавать проекты для каждого сайта в одном решении и иметь общий проект, в котором размещаются любые помощники, CSS и JavaScript и т. Д.

Любые мыслина каком пути я должен это делать, и являются ли мои предложения совершенно сумасшедшими?(что, вероятно, будет иметь место).

1 Ответ

7 голосов
/ 31 июля 2011

Это общий запрос. То, о чем вы спрашиваете, называется Multi-tenancy. На сегодняшний день я не знаю какого-либо единого мнения о том, как добиться многопользовательской аренды в MVC. Вероятно, существует столько же решений, сколько и вопросов, задаваемых по этому поводу.

Я также не решил эту проблему, к моему удовлетворению. Тем не менее, есть ряд записей в блоге, посвященных этому. Примеры включают в себя:

http://weblogs.asp.net/zowens/archive/2010/05/26/multi-tenant-asp-net-mvc-introduction.aspx

http://codeofrob.com/archive/2010/02/01/multi-tenancy-in-asp.net-mvc-why-do-we-want-to.aspx

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

...