2010-07-02 109 views
0

我无法从路由系统中排除不存在的文件。我处理这个代码在Web窗体的场景:ASP.NET路由ignoreRoute不起作用

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.IgnoreRoute("{resource}.gif/{*pathInfo}"); 
    routes.IgnoreRoute("{resource}.jpg/{*pathInfo}"); 
    Route r = new Route("{*url}", new MyRouteHandler()); 
    routes.Add(r); 
} 

当调试

public IHttpHandler GetHttpHandler(RequestContext requestContext) 
{ 
    string path; 

    IHttpHandler page; 

    try 
    { 
     path = requestContext.RouteData.GetRequiredString("url"); 
     LogFile(requestContext, path); 
    } 

路径仍然包含不存在的GIF文件,JPG等 我要排除具有扩展名的文件如果这是可能的

上面的代码有问题吗?订单是否正确,即在向RouteCollections添加路线之前添加routes.IgnoreRoute条目?

+0

没有运气与我下面的答案吗? – RPM1984 2010-07-02 06:57:17

回答

0

IgnoreRoute是ASP.NET MVC (System.Web.Mvc的扩展方法) - 在Web窗体中不起作用。

这样做:

routes.Add(new Route("{resource}.gif/{*pathInfo}", new MyIgnoreHandler())); 

您的其他路线地图到你的正常的处理程序。

你应该从这个问题中删除“mvc”标签。