将MVC应用程序发布到服务器甚至个人计算机时,我遇到了一些麻烦。
服务器安装了MVC框架,这不是问题,我也明确安装了它。
我本地计算机上的问题显然是权限问题,但我不确定需要什么权限...我尝试将IUSR添加到应用程序本身。
iis错误消息是: 模块IIS Web核心 通知BeginRequest 处理程序尚未确定 错误代码0x80070005 配置错误由于权限不足,无法读取配置文件 配置文件〜\ Visual Studio 2008 \ Project \ MVCApp \ web.config
并且在尝试查看应用中的任何内容时,服务器上显示“无法找到该页面”。
这也是一个表单身份验证应用程序,它拒绝除了经过身份验证的用户之外的所有内容
答案 0 :(得分:3)
您需要启用通配符映射,以便它可以解析路由。
看一下选项1: http://blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/
基本上,IIS正在尝试在给定的URL上查找文件,但它不存在,因为它们是MVC路由。您需要告诉IIS将请求移交给ASP.Net路由处理程序,而不必担心检查文件系统上是否存在该文件。 (它永远不会存在)
答案 1 :(得分:1)
我发现将MVC 2项目升级到MVC 3会导致sam错误,如上所述:
模块IIS Web核心通知BeginRequest处理程序尚未确定错误代码0x80070005配置错误由于权限不足而无法读取配置文件配置文件〜\ Visual Studio 2010 \ Project \ MVCApp \ web.config
解决这个问题的方法是在我的localhost IIS中删除项目的虚拟目录,然后清理并重建项目。
请注意!这是VS2010中的一个MVC2项目 - 而不是VS2008。