3

Global_Asax とカスタム エラー ページを持つ Web アプリケーションがあります。ユーザーが存在しない無効なページに入ろうとすると、Global_asax で Application_Error が発生し、実際には例外ではない例外がログに記録されます (以下の例外の詳細を確認できます)。このケースを global_asax ではなく、IIS で処理したいと考えています。また、.asp および .html で終わる無効なパスを入力しようとしましたが、正常に動作します (global_asax ではなく、デフォルトの 404 ページで終わります)。

IIS7 Manager からどの設定を変更する必要があるかを知る必要があります。

どんな助けでも大歓迎です。

エラー - ファイル '/restricted/ff.aspx' が存在しません。

System.Web.HttpException: ファイル 'test.aspx' が存在しません。System.Web.UI.Util.CheckVirtualFileExists (VirtualPath virtualPath) で System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath、ブール値の noBuild、ブール値の allowCrossApp、ブール値の allowBuildInPrecompile) で System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert (HttpContext コンテキスト) System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) の System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,タイプ requiredBaseType、HttpContext コンテキスト、ブール型 allowCrossApp、

4

1 に答える 1

2

次のいずれかを試すことができます。

  1. カスタム エラーのweb.configファイルを編集します。

    <customErrors mode="On">
        <error statusCode="404" redirect="404.aspx"/>
    </customErrors>
    
  2. ページを追加し404.aspx、ステータス コードを404に設定します。

    public partial class _04 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.StatusCode = 404;
        }
    }
    

これを試しても解決しない場合 (マスターページによってリセットされる可能性があります):

protected override void Render(HtmlTextWriter writer)
{
    base.Render(writer);
    Response.StatusCode = 404;
}
于 2011-11-28T12:04:04.793 に答える