【发布时间】:2011-07-11 12:52:24
【问题描述】:
我第一次同时处理 ASP.NET、MVC 3、Web 开发。请多多包涵,因为我知道这个话题已经从不同的角度进行了深入的讨论。我仍然没有找到我的具体问题的答案:为什么我的应用程序在发生 404 时找不到我的 Error.cshtml 文件,当它发现它与其他错误一样好?
(环境:Win 7 64bit、IIS7、SQL 2008 Express、VS2010、ASP.NET 4、MVC3、EF v4)
我有一个控制器 WorkerController.cs,它可以正确地从数据库中读取和写入。如果我更改数据库名称而不更新我的 DbContext,它会给我一个错误。当我将 web.config 更改为始终显示自定义错误时,显示 /Views/Shared/Error.cshtml 文件。
我没有有 FooController.cs 文件。如果我转到 /Foo,我会收到 404 错误,正如预期的那样。它告诉我它找不到资源/Foo。
当我设置 customErrors mode="On" 并向 /Foo 发出 http 请求时,我收到一个 404 错误,提示找不到 /Error.cshtml。
我正在搜索和阅读讨论使用指定控制器处理错误的各种方法的帖子,但我真的很想知道我错过了什么。为什么它会找到 /Error.cshtml 的其他错误,而不是 404 错误?
【问题讨论】:
标签: asp.net-mvc-3 asp.net-mvc-routing http-status-code-404