asp.net-mvc – IIS 6上的ASP.NET MVC – 通配符映射 – 传入请求与任何路由都不匹配
|
我一直在尝试在IIS 6上设置我的Beta 1 MVC应用程序,但无法正常运行.我已经按照其他博客文章的建议添加了.net isapi DLL的通配符映射,但是当我访问网站的根目录时出现以下错误: The incoming request does not match any route. .. [HttpException (0x80004005): The incoming request does not match any route.] System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContextBase httpContext) +147 System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContext httpContext) +36 System.Web.Routing.UrlRoutingHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +4 HCD.Intranet.Web.Default.Page_Load(Object sender,EventArgs e) +81 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e) +15 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e) +33 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +1436 我正在使用MVC模板应用程序中提供的Default.aspx页面,该页面正确地重写对网站根目录的访问. public partial class Default : Page
{
public void Page_Load(object sender,System.EventArgs e)
{
HttpContext.Current.RewritePath(Request.ApplicationPath);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
}
}
如果我尝试访问应用程序中的路径,例如/ Project,我会得到标准的IIS 404错误页面,而不是.net错误页面. 我尝试将以下行添加到我的Web.config httpHandlers部分: <add verb="*" path="*" validate="false" type="System.Web.Mvc.MvcHttpHandler,System.Web.Mvc,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/> 这给了我一个不同的错误 – .net 404错误页面. 我将以下内容添加到我的Global.asax中,它没有做任何事情: protected void Application_BeginRequest(object sender,EventArgs e)
{
if (Context.Request.FilePath.Equals("/"))
Context.RewritePath("Default.aspx");
}
我正在使用以下路由配置(使用MvcContrib项目提供的restful路由): routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
SimplyRestfulRouteHandler.BuildRoutes(routes);
routes.MapRoute(
"Default","{controller}/{action}/{id}",new { controller = "Home",action = "Index",id = "" }
);
任何建议都会得到很好的收获,因为我已经用尽了现在的所有选项. 非常感谢. 解决方法好的,搞定了.问题是我使用msbuild自动化来打包我需要部署的文件,而我缺少global.asax. 因此,如果没有将global.asax部署到站点,那么没有任何路由被连接起来.这意味着正确访问网站根目录会导致错误“传入的请求与任何路由都不匹配.”,并且任何其他请求不再被路由到您的控制器类,因此导致404. HTH. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何获得Google Prettify更像Visual Studio
- ASP.NET – 从客户端访问两次网页
- asp.net-mvc – 使用带有剃刀的html选择框
- asp.net – 如何保护存储在web.config中的密码?
- asp.net-mvc-4 – ASP.NET MVC:脚本捆绑何时决定更改捆绑包
- asp.net-mvc-3 – MVC 3 knockoutjs:在使用EditorFor作为布
- 下载期间的ASP.net内存使用情况
- 如何使用ASP.NET MVC项目启动Azure模拟器
- asp.net – Page.RouteData.Values对于一个页面是空的而不是
- asp.net-mvc – Owin如何在Application_EndRequest阶段之后
- asp.net-mvc – 使用单元测试在asp.net mvc中验证
- asp.net-mvc-4 – 用于继承类型的WebApi模型绑定
- asp.net-mvc – Sitecore在我的MVC解决方案中提供
- asp.net – 将Eval参数从ASPX文件传递给JavaScri
- asp.net – DataBinding:’System.Data.DataRow
- asp.net – 在什么情况下HttpContext.Current.Se
- CORS支持PUT和DELETE与ASP.NET Web API
- 标签 – 如何使用像asp这样的Razor:Literal?
- asp.net – WebApi:将参数映射到标头值
- asp.net-mvc-3 – ASP.NET MVC3从https重定向到h
