我一直在敲打我的头撞墙试图部署在IIS6我的MVC应用程序(linked question)ASP.NET MVC - 的时间.mvc路由在II6
我已经报废了通配符映射是和我试图让.mvc扩展工作。在IIS中所有配置都正确,并且.mvc扩展名指向所有动词类型的.NET dll(未选中验证是否存在选项)。
每次我提出请求时,我所得到的就是.NET 404页面。 /Home.mvc和/Home.mvc/Index都会返回该页面。
我没有对默认的Web.config进行任何更改,并且我的所有路由都使用基于扩展名和扩展名的等效项进行配置。
我很欣赏多么容易此配置必须(音)给大家读谁得到了它的工作,但我向你保证,我没有做任何事情不同,该矿将无法正常工作。我甚至尝试将它部署到与IIS6不同的服务器上,并且也发生了相同的问题。
难道还有其他原因路由模块/处理器是完全缺失的请求,并让它通过下降到标准的.NET 404错误?奇怪的权限?
对于IIS 404错误,我更新了自定义错误设置,因此它在站点的路由中调用了Default.aspx页面。这是在Visual Studio中生成的MVC的测试模板,后者执行以下步骤在后面的代码默认页面:
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
......
随着我的设置,如果我有两个延伸和扩展名与extensionsless配置声明第一路由失败。我假设路由引擎最初是匹配的,然后IIS被给予基于非扩展的URL。我会删除extensionless并尝试出来只是为了看到。 – anonymous 2008-11-12 19:47:47