首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET routing ignoreRoute不工作

ASP.NET routing ignoreRoute不工作
EN

Stack Overflow用户
提问于 2010-07-02 08:37:36
回答 2查看 3.4K关注 0票数 0

我不能从路由系统中排除不存在的文件。我正在处理一个Web窗体场景中的代码:

代码语言:javascript
复制
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);
}

当我调试时

代码语言:javascript
复制
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
    string path;

    IHttpHandler page;

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

路径仍然包含不存在的gif文件,jpg等,我想排除所有文件的扩展名,如果这是可能的

上面的代码有什么问题吗?顺序是否正确,即在向RouteCollections添加路由之前添加routes.IgnoreRoute条目?

EN

回答 2

Stack Overflow用户

发布于 2011-01-24 22:53:38

在Web Forms中,您可以使用StopRoutingHandler。在以下示例中,将忽略http://yoursite.com/images/xyz.jpg等/images文件夹中的文件的路由

代码语言:javascript
复制
routes.Add(new Route("images/{resource}", new StopRoutingHandler())); 
票数 1
EN

Stack Overflow用户

发布于 2010-07-02 09:24:43

IgnoreRoute是ASP.NET的一种扩展方法( (System.Web.Mvc) -不适用于Web表单。

执行以下操作:

代码语言:javascript
复制
routes.Add(new Route("{resource}.gif/{*pathInfo}", new MyIgnoreHandler()));

将您的其他路线映射到您的常规处理程序。

你应该去掉这个问题中的"mvc“标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3162570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档