Как осуществляется многократная аренда в проекте Orchard
Я перешагнул исходный код для CMS Orchard, чтобы узнать, как они решили Multi-tenancy.
OrchardProject
Может ли кто-нибудь указать файлы или области, на которые я должен смотреть, чтобы понять, как работает сантехника для многоквартирного дома в Орчард?
- Как и где доменное имя расшифровывается для получения арендатора из БД?
- Как данные конфигурации арендатора поддерживаются в течение всего времени, которое пользователь находится на сайте - сеансы?
Как тестовый проект, я хочу иметь возможность писать аналогичный код с костью в приложении ASP.Net MVC для демонстрации многопользовательской аренды.
Области, на которые я смотрел:
- OnBeginRequest
- Global.cs
- Stater.cs
Ответы
Ответ 1
Вам нужно установить модуль многозначности из галереи садов, включить его и настроить в настройках.
Код, который вы хотите посмотреть, - это код, который находится в подпапке модуля мультитендального модуля.
Однако, зная, как Orchard делает многократную аренду, вам не помогут. Orchard имеет очень сложную систему маршрутизации и расширения, с тоннами слоев и динамическими точками отправки. Вы не можете просто вставить внутреннюю систему Orchard в простое приложение MVC, не в основном воссоздавая всю инфраструктуру Orchard.
Orchard не является хорошим примером того, как писать автономное приложение MVC, потому что у него так много требований к гибкости, и его система настолько сильно основана на динамическом материале claysharp.
Если нет причины, вам нужно использовать метод Orchard специально, вам лучше подойти к таким решениям http://weblogs.asp.net/zowens/archive/tags/Multi-tenancy/default.aspx
Ответ 2
Возможно, это поможет вам. Я реализовал полное приложение MVT с несколькими тенями. Вот некоторые ссылки, которые я нашел удобными и некоторые примеры приложений:
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 очень мало помогает вам решить проблемы.
Ответ 3
Есть несколько примеров проектов, демонстрирующих развертывание многопользовательских:
Cloud Ninja
Cloud Samurai