如何忽略包含IgnoreRoute星号的路径(或将它们映射到静态资源)

时间:2012-12-20 08:19:16

标签: asp.net-mvc asp.net-mvc-routing

由于复杂的原因我不会进入,我们有一些请求进入我们的/blah/[**Token**]申请(这是字面意思,这不是占位符)。

目前我们从MVC收到错误,说每次请求进来时都找不到IController。

我们希望请求:a)404或b)提供静态占位符图像。

尽可能地尝试,我们无法弄清楚如何在IgnoreRoute / Route调用中转义这些字符,以便按字面意思对它们进行处理。例如。我们试过了:

IgnoreRoute("blah/\[\*\*Token\*\*\]")
IgnoreRoute("blah/[\*\*Token\*\*]")

但问题仍然存在。

我们如何逃避此路径,以便忽略对blah/[**Token**]的实际请求并导致404(或者,我们如何将此确切路径映射到静态图像)?

注意:我们已经编辑了web.config,因此*不是不允许使用的字符。我们不能(目前)轻松更改此传入请求路径,我们只是想在发生错误时停止填写错误日志: - )

1 个答案:

答案 0 :(得分:2)

使用像这样的路线约束

IgnoreRoute("{*constraint}", new { constraint = @".*\[\*\*ProductImageFile\*\*]" });