Как осуществляется мультитенантность в проекте Orchard? - PullRequest
13 голосов
/ 09 июля 2011

Я прошагал по исходному коду Orchard CMS, чтобы узнать, как они справились с мультитенантностью.

OrchardProject

Может кто-нибудь указать файлы илиОбласти, на которые мне следует обратить внимание, чтобы понять, как работает сантехника для Multi-tenancy in Orchard?

  • Как и где расшифровывается доменное имя для получения арендатора из БД?
  • Как данные конфигурации арендатора поддерживаются в течение всего времени, пока пользователь находится на сайте - сеансах?

В качестве тестового проекта я хочу иметь возможность писать подобный простой код в ASP.NetПриложение MVC для демонстрации мультитенантности.

Области, на которые я смотрел:

  • OnBeginRequest
  • Global.cs
  • Stater.cs

Ответы [ 3 ]

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

Возможно, это поможет вам.Я реализовал полное мультитенантное приложение MVC.Вот некоторые ссылки, которые я нашел полезными, и некоторые примеры приложений:

http://msdn.microsoft.com/en-us/library/aa479086.aspx

http://weblogs.asp.net/zowens/multi-tenant-asp-net-mvc-introduction

http://lonetechie.com/2012/09/25/multi-tenant-architecture-with-asp-net-mvc-4/

http://codeofrob.com/archive/2010/02/14/multi-tenancy-in-asp.net-mvc-controller-actions-part-i.aspx

http://mvcex.codeplex.com/

http://www.developer.com/design/article.php/10925_3801931_2/Introduction-to-Multi-Tenant-Architecture.htm

http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_cc

http://lukesampson.com/post/303245177/subdomains-for-a-single-application-with-asp-net-mvc

http://code.google.com/p/multimvc/

http://www.agileatwork.com/bolt-on-multi-tenancy-in-asp-net-mvc-with-unity-and-nhibernate/

http://ayende.com/blog/3530/multi-tenancy-approaches-and-applicability

http://weblogs.asp.net/zowens/archive/tags/Multi-tenancy/default.aspx

http://cloudsamurai.codeplex.com/

http://cloudninja.codeplex.com/

http://msdn.microsoft.com/en-us/library/hh534484.aspx

Даже начиная с нуля, вам грозит мир боли.Среда MVC делает очень мало, чтобы помочь вам решить проблемы.

2 голосов
/ 11 июля 2011

Вам необходимо установить модуль multi-tennancy из галереи сада, включить его и настроить его в настройках.

Код, который вы хотите посмотреть, - это код, который находится в мультитенантеподпапка модуля.

Однако знание того, как Orchard выполняет мультитенантность, мало чем вам поможет.Orchard имеет очень сложную систему маршрутизации и расширения, с тоннами слоев и динамическими точками отправки.Вы не можете просто вставить внутреннюю систему Orchard в простое приложение MVC без воссоздания всей инфраструктуры Orchard.

Orchard не является хорошим примером того, как написать отдельное приложение MVC, потому что онпредъявляет так много требований к гибкости, а его система в значительной степени основана на динамических компонентах с острыми угламиэто http://weblogs.asp.net/zowens/archive/tags/Multi-tenancy/default.aspx

1 голос
/ 27 сентября 2011

Есть несколько примеров проектов, демонстрирующих мультитенантов развертываний:

Облако ниндзя Облачный самурай

...