c# - Asp.Net 路由 : How do I ignore multiple wildcard routes?

标签 c# asp.net asp.net-mvc routing

我想忽略多个通配符路由。在 asp.net mvc preview 4 中,它们附带:

RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我还想添加如下内容:

RouteTable.Routes.IgnoreRoute("Content/{*pathInfo}");

但这似乎破坏了一些在我的程序中生成 url 的助手。想法?

最佳答案

这里有两种可能的解决方案。

  1. 向忽略路由添加约束以确保只有应忽略的请求才会匹配该路由。有点笨拙,但应该可以。

    RouteTable.Routes.IgnoreRoute("{folder}/{*pathInfo}", new {folder="content"});
    
  2. 您的内容目录中有什么?默认情况下,路由不会路由磁盘上存在的文件(实际上会检查 VirtualPathProvider)。因此,如果您将静态内容放在 Content 目录中,则可能不需要忽略路由。

关于c# - Asp.Net 路由 : How do I ignore multiple wildcard routes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302/

相关文章:

c# - asp.net C# 中的调用上下文

c# - Asp.net 验证。只允许用户在文本框中输入特定数字

asp.net-mvc - Kentico 9 - 单独的 MVC 应用程序 - 身份验证

asp.net-mvc - 输入类型=Checkbox、@HTML.CheckBox 和@HTML.CheckBoxFor 的区别?

asp.net-mvc - 我可以使用 Entity Framework 6(不是 Entity Framework 核心)开发 Asp.net 核心 MVC 应用程序吗?

C# - 通过进程名称的一部分终止进程

c# - 实现策略模式而不是几个 if 语句

c# - 在 .Net 3.5 Web 项目中使用 HTTPS Web 服务

.net - 文化变化带来的问题

asp.net - 轻量级asp.net成员资格提供程序替代