URL /nosuchpage 是否会通过我的 ASP.NET MVC 应用程序进行路由?

发布于 2024-08-29 04:49:30 字数 631 浏览 1 评论 0原文

[我正在尝试找出另一个问题,这个问题是难题的一部分。]

我有一个 MVC 2已设置路由的网站,以便 /Customer/23/Order/47 等 URL 由各种控制器处理。我没有有匹配的规则,例如 /nosuchpage,并且在我的 Cassini 环境中,对该 URL 的请求将触发我的 Application_Error 代码,这让我可以记录错误并显示友好的响应。

但是,当我使用集成模式在 IIS7 上部署此网站时,我的 Application_Error 未触发,并且 IIS 显示自己的 404 消息。无论我尝试什么,我都无法触发 Application_Error 。

现在我在想:它不触发的原因是因为请求没有通过我的应用程序路由吗?要么是因为我没有明确设置一个包罗万象的路由,要么是因为文件扩展名欺骗它认为应该使用“静态文件处理程序”(无论是什么)?

我应该期望我的 Application_Error 被调用吗?

[I'm trying to figure out the reason why I'm having another problem, and this question is part of the puzzle.]

I have an MVC 2 website that has routing set up so that URLs such as /Customer/23/Order/47 get handled by various controllers. I do not have a rule that would match, for example, /nosuchpage and in my Cassini environment a request for that URL will trigger my Application_Error code, which lets me log the error and show a friendly response.

However, when I deployed this website on IIS7 using integrated mode, my Application_Error is not triggered, and IIS shows its own 404 message. No matter what I've tried, I can't get Application_Error to fire.

Now I'm thinking: is the reason it doesn't fire because the request is not getting routed via my application? Either because I didn't explicitly set up a catch-all route, or because the file-extension fools it into thinking it should use the "static file handler" (whatever that is)?

Should I expect my Application_Error to be invoked?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

昇り龍 2024-09-05 04:49:30

您的 web.config 中需要的设置是

<system.webServer>
  ...
  <httpErrors errorMode="Detailed" />

The setting you need in your web.config is

<system.webServer>
  ...
  <httpErrors errorMode="Detailed" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文