主MVC3网络应用程序干扰儿童MVC3网络应用程序

Ant*_*ony 7 iis-7 web-config web-deployment asp.net-mvc-3

这里只是一些背景信息.我目前正在使用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)
Run Code Online (Sandbox Code Playgroud)

在WinHost中,它允许我设置应用程序的起点,所以我可以

/ <= for primary app
/child <= for the child app
Run Code Online (Sandbox Code Playgroud)

每个应用程序都有自己的web.config,所以它就像

/web.config
/child/web.config
Run Code Online (Sandbox Code Playgroud)

好吧,令我惊讶的是,即使将/ child文件夹设置为应用程序起点,它似乎也不会与父主Web应用程序隔离,因为当我尝试加载子应用程序时,我得到了臭名昭着的错误

无法加载文件或程序集"Castle.Windsor"或其依赖项之一.该系统找不到指定的文件.

我尝试通过将NHibernate相关库转储到/ child/bin文件夹来解决这个问题,但这只会让事情变得更糟,因为我还需要在子应用程序中设置额外的NHibernate配置,即使子应用程序不需要数据库访问.

那么是否有某个设置(例如web.config)我可以强制将子应用程序与父应用程序隔离?

我认为,最后的办法是放弃子网页应用,并将其转换为主要主要网络应用下的"区域",但这并不理想,因为这两个网络应用根本没有相互关联,定位不同的观众等

注意:它不应该是路由问题的情况,因为两个原因1. WinHost将/ child文件夹设置为应用程序起点2.在主Web应用程序下,我已经忽略了RegisterRoutes()中的子项

routes.IgnoreRoute("child");
routes.IgnoreRoute("{folder}/{*pathinfo}", new { folder = "child" });
Run Code Online (Sandbox Code Playgroud)

好吧,经过3个小时的工作,我不知所措.任何建议都非常感谢.如果您需要查看任何配置,请告诉我.先感谢您!

Ant*_*ony 1

我最终通过将子应用程序修改为父应用程序下的区域来解决此问题。然后,我禁用了 /child 文件夹的应用程序起始点,并从服务器中删除了 /child 文件夹。

它现在正在工作,尽管我对解决方法并不是太兴奋。