2010-06-10 150 views
4

我有一个Asp.Net网站部署为IIS 7.5内的网站。asp.net mvc 2 web应用程序里面的Web应用程序?

http://localhost/WebSite

然后我具有被部署为上述网站内子应用的第二Asp.Net MVC 2 web应用程序。所以mvc应用程序应该在以下Url上工作。

http://localhost/WebSite/MvcApp/

该网站工作正常,但是当我浏览MVC网址http://localhost/WebSite/MvcApp/

它提供了以下错误。

HTTP错误403.14 - 禁止在Web服务器 配置为不列出此目录的 内容。

更新:我有这个工作。问题在于我错过了Asp.Net MVC 2应用程序中的Views文件夹中的Web.Config。

+0

共享托管服务器通常为嵌套应用程序创建嵌套目录,并且它们在我的经验中运行良好。但我不知道托管管理员如何设置服务器。例如:我为我的域abc.com获取一个wwwroot目录。在wwwroot中,我部署了一个根应用程序文件。然后,我创建一个部署在wwwroot \ newapp中的新应用程序,并且这两个应用程序都可以工作 – xport 2010-12-14 02:07:22

回答

0

你是Asp.Net MVC网站运行ASP.NET 4.0吗?如果是这样,请确保该MVC网站的应用程序池设置为asp.net 4.0,而不是ASP.NET 2.0。

+0

Asp.Net MVC网站使用自己的应用程序池,它是Asp.Net 4.0。 – Amitabh 2010-06-10 14:22:18

1

您可能需要为将与其专用应用程序池相关联的ASP.NET MVC应用程序创建一个虚拟目录。

+0

在主网站中我添加了一个新的应用程序,它有自己的应用程序池。 – Amitabh 2010-06-10 15:22:08

+0

虚拟目录怎么样?没有虚拟目录,ASP.NET应用程序无法正常运行。 – 2010-06-10 15:24:40

+0

是的,但我无法将应用程序池分配给虚拟目录。 – Amitabh 2010-06-10 15:29:52

1

我知道我前段时间有同样的问题。在我的情况下,两个应用程序运行一个兄弟姐妹,而不是一个在另一个里面。问题在于根目录(在两个站点上方)中的web.config与单独站点中的web.config冲突。我刚好删除根web.config(因为我没有在根运行解决它。

所以我的建议(我知道这绝对不是一个解决方案)是检查你的web.configs冲突。

+0

如果你有一个root应用程序,你会怎么做? – xport 2010-12-14 02:09:22

0

从IIS管理器中,你可以右键点击树中任何文件夹,将其转换为应用程序,你是否尝试过它?

0

听起来我对mvc路由模块没有执行你的请求。希望检查以确保基础Web应用程序中的web.config不仅不会加载模块来取代路由处理程序,还会确保您的mvc应用程序的web.config正确处理路由。请看这个文章的路由依赖关系的概要以及它如何在iis内部进行配置。