C# 忽略webforms RouteHander中的文件扩展

C# 忽略webforms RouteHander中的文件扩展,c#,asp.net,C#,Asp.net,我正在使用以下路由处理程序在.NET4.0解决方案中路由URL。默认情况下,路由处理程序忽略存在的文件,这正是我所需要的,因为我不想映射css文件、js文件、图像文件等 webconfig中添加CustomErrors部分的更改迫使我注意到一个bug。如果有一个图像的链接,而该图像不存在,则会映射url,从而导致许多问题和错误 现在我需要的是完全忽略文件扩展名js、css、jpg、gif等,或者最好只忽略map.aspx文件。但我不知道该怎么做 注:该网站是基于用户上传,百分之一的断开链接将始终

我正在使用以下路由处理程序在.NET4.0解决方案中路由URL。默认情况下,路由处理程序忽略存在的文件,这正是我所需要的,因为我不想映射css文件、js文件、图像文件等

webconfig中添加CustomErrors部分的更改迫使我注意到一个bug。如果有一个图像的链接,而该图像不存在,则会映射url,从而导致许多问题和错误

现在我需要的是完全忽略文件扩展名js、css、jpg、gif等,或者最好只忽略map.aspx文件。但我不知道该怎么做

注:该网站是基于用户上传,百分之一的断开链接将始终存在

public class RouteHandler : IRouteHandler
{
    private readonly string _path;

    public RouteHandler(string path)
    {
        _path = path;
    }

    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        Page page = BuildManager.CreateInstanceFromVirtualPath(_path, typeof(Page)) as Page;

        foreach (KeyValuePair<string, object> i in requestContext.RouteData.Values)
        {
            HttpContext.Current.Items[i.Key.Replace("*", "")] = i.Value;
        }

        return page;
    }
}

routes.Add("somename", new Route("folder/insidefolder", null, null, new RouteHandler("~/folder-insidefolder.aspx")));

我认为下面这行解决了图像问题,需要更多的测试:

routes.Ignore("{*images}", new { images = @".*\.(jpg|JPG|gif|GIF|png|PNG|ico|ICO)(\?.*)?" });