Главное веб-приложение MVC3 мешает дочернему веб-приложению MVC3

Здесь просто некоторая справочная информация. В настоящее время я использую общий хостинг с WinHost, и имеют следующую настройку

Shared IIS
    |______Main Primary MVC3 web app (uses NHibernate & Castle.Windsor for ORM)
           |_______ Child MVC3 web app (not using NHibernate nor Castle.Windsor as it does not need database access)

На WinHost это позволяет мне установить начальную точку приложения, так что я могу иметь

/ <= for primary app
/child <= for the child app

Каждое приложение имеет свой собственный web.config, так что это похоже на

/web.config
/child/web.config

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

Не удалось загрузить файл или сборку 'Castle.Windsor' или один из его зависимости. Система не может найти указанный файл.

Я попробовал обходной путь, сбросив связанную библиотеку NHibernate в папку / child / bin, но это только усугубляет ситуацию, потому что мне также нужно будет настроить дополнительную конфигурацию NHibernate в дочернем приложении, даже если дочернее приложение имеет нет необходимости в доступе к базе данных.

Так есть ли где-нибудь параметр (например, web.config), с помощью которого я могу принудительно изолировать дочернее приложение от родительского?

Я думаю, что последним средством было бы отказаться от дочернее веб-приложение и превратите его в «Область» под основным основным веб-приложением, но это не идеально, потому что эти два веб-приложения совсем не связаны друг с другом, нацелены на разную аудиторию и т. д.

Примечание. это не проблема маршрутизации по двум причинам 1. WinHost устанавливает папку / child в качестве начальной точки приложения. 2. В основном веб-приложении я уже проигнорировал дочерний элемент в RegisterRoutes ()

routes.IgnoreRoute("child");
routes.IgnoreRoute("{folder}/{*pathinfo}", new { folder = "child" });

Итак, после 3 часов работы над этим я в растерянности. Любые предложения приветствуются. Дайте мне знать, если вам понадобятся какие-нибудь конфиги. Заранее спасибо!

7
задан Paul Tyng 18 February 2012 в 13:46
поделиться