3

出于复杂的原因,我不会详细介绍,我们有一些请求进入我们的应用程序/blah/[**Token**](这是字面意思,这些都不是占位符)。

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

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

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

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

但问题仍然存在。

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

注意:我们已经编辑了 web.config,所以 * 不是一个不允许的字符。我们(目前)不能轻易改变这个传入的请求路径,我们只想在它发生时阻止我们的错误日志填满:-)

4

1 回答 1

2

使用这样的路由约束

IgnoreRoute("{*constraint}", new { constraint = @".*\[\*\*ProductImageFile\*\*]" });
于 2012-12-20T12:05:02.923 回答