MVC アプリを[HandleError]
適切に使用するように設定したと思います。これは私のコントローラーです:
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
そして、タグを「オン」に設定しました。customErrors
web.config
<customErrors mode="On"></customErrors>
ただし、例外でイエロー スクリーン オブ デスが表示されます。Toss()
アクションにブレークポイントを設定すると、true に設定されていることHttpContext.IsCustomErrorEnabled
が示されます。
私たちは View Engine で何もしてBaseController
いませんし、何もいじっていません (また、View Engine を拡張しない他のコントローラーにも同じ問題があります)。
私は Windows XP で開発を行っていますが、アプリがサーバー 2003 ボックス (IIS 6) に展開されたときに同じ問題が発生します。
ページに例外があるとは思わないerror.aspx
:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="errorContent" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Sorry, an error occurred while processing your request.
</h2>
</asp:Content>
異なる可能性があることの 1 つは、このアプリが MVC Beta が最新バージョンであったときに作成され、リリース時に RC にアップグレードされ、次に RTM にアップグレードされたことです。そこから残っているいくつかの奇妙な設定があったのでしょうか?
私はこれを他のアプリで動作させることができるので、少し当惑しています.