我一直在试图在 IIS6 上部署我的 MVC 应用程序(链接问题)
我暂时放弃了通配符映射,并试图让 .mvc 扩展工作。IIS 中的所有内容都已正确配置,并且 .mvc 扩展名指向所有动词类型的 .NET dll(未选中验证是否存在选项)。
每次我提出请求时,我得到的只是 .NET 404 页面。/Home.mvc 和 /Home.mvc/Index 都返回该页面。
我没有对默认的 Web.config 进行任何更改,并且我的所有路由都配置了无扩展和基于扩展的等效项。
我很欣赏这个配置对于每个阅读它的人来说是多么容易(声音),但我向你保证我没有做任何不同的事情,我的不会工作。我什至尝试使用 IIS6 将它部署在不同的服务器上,同样的问题也发生在那里。
是否还有其他原因导致路由模块/处理程序完全丢失请求并使其陷入标准的 .NET 404 错误?奇怪的权限?
对于 IIS 404 错误,我更新了自定义错误设置,使其在站点路径中调用 Default.aspx 页面。这是 Visual Studio 中生成的 MVC beta 模板的默认页面,它在后面的代码中执行以下操作:
HttpContext.Current.RewritePath(Request.ApplicationPath);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
这只是给了我上一篇文章中的错误:
[HttpException (0x80004005): The incoming request does not match any route.]
System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContextBase httpContext) +15589
System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContext httpContext) +40
System.Web.Routing.UrlRoutingHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +7
......