23

Web.Configに非常に重要な問題があります。ページのエラーを確認し、asp.netWebフォームとWeb構成で解決する必要がありますが、エラーが発生すると、別のエラーが表示され、次のメッセージが表示されます。

customErrorsモードをOffまたはOnまたはRemoteOnlyに、

このプロパティをオフに設定しましたが、エラーは表示されません。もう一度、属性をOnyourCustomErrorに設定してください。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

モードをオンに設定したとき、「customErrorsモードをもう一度オンに設定してください」と言います。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

4

11 に答える 11

18

構成に問題がある場合は、設定が上書きされていないことを確認してください。

この場合、サーバーには、<deployment retail="true" />アプリケーション設定をオーバーライドし、トレース出力、カスタム エラー、およびデバッグ機能を無効にする構成が含まれている可能性があります。

値を「false」に変更します

<deployment retail="false" />

MSDN リンク

于 2014-01-13T10:35:41.753 に答える
3

カスタム ページに例外を表示する方法のサンプル コードを次に示します。

まず、ボタンを使用して Default.aspx を作成します。

    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Throw Error" />

ボタン クリック イベントに次のコードを追加します。

    protected void Button1_Click(object sender, EventArgs e)
    {
        throw new Exception("Sample Exception on my Page");
    }

次に、次のラベルを付けて ErrorPage.aspx を作成します。

    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

エラーページのコード:

    protected void Page_Load(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex != null && ex.InnerException != null)
        {
            Label1.Text = string.Format("An error occured: {0}", ex.InnerException.Message);
        }
    }

最後に、web.config に次の構成を配置します。

    <system.web>
      <customErrors mode="On" defaultRedirect="~/ErrorPage.aspx" redirectMode="ResponseRewrite" />
    </system.web>

Default.aspx をコンパイルして開始します。ボタンをクリックすると、カスタム ページにエラーが表示されます。

ハッピーコーディング!

于 2014-01-18T22:14:11.697 に答える
3

デバッグ用のエラーを表示し、カスタム エラー ページを表示しないようにするには、 は必要ありません。defaultRedirectこれがあれば、デバッグ / 例外情報を出力する必要があります。

<system.web>
    <customErrors mode="On" />
</system.web>

On注:が大文字のOで始まることを確認してください。web.config を変更すると、(デフォルトで) アプリ プールがリサイクルされ、すぐに取得されます。

于 2014-01-16T16:17:08.170 に答える
1

私が見る<customErrors mode="Off" />限り、ノードの最初のノードとしてはありません<system.web>

推測すると、ノード内に customErrors ノードがあり<compilation targetFramework="x.x">ます。

おそらく、アプリケーションが記述されているものとは別のバージョンの .NET フレームワークにアプリケーション<customErrors mode="Off" />プールが設定さ<system.web>れています。

于 2014-01-18T22:57:03.897 に答える
1

この行を削除するとうまくいきます!

<customError  />
于 2014-01-19T13:05:10.557 に答える
1

オンに設定されていると言っているのを見たことがありません。詳細なエラーが表示されるように、customeErrors を off に設定すると言っているのを見たことがあります。オフに設定してから、表示される実際のエラー メッセージをこの投稿に追加してください。404 エラーのような別のメッセージが表示されないことを確信していますか?

于 2014-01-15T10:26:15.660 に答える
1

多くのホスティング会社は、実際には web.config ファイルの設定を自社の設定で上書きしています。通常、これらの具体的な属性は、Web サイトの Web ホストのダッシュボードで設定できます。

使用している具体的な Web ホスティングを教えていただければ、具体的な手順についてより適切にサポートできるはずです。

于 2014-01-20T00:16:55.880 に答える
1

ここにコメントしたかっただけですが、コメントするのに十分なポイントがありません.エラーを生成する実際のページを見て、web.config全体を確認できますか? パスワードを教えないように、接続文字列などをぼかすことができます。

しかし、私が見たものでは、

あなたが言っていることから、ローカル マシンで IIS Express デバッグを使用していると思います。サイトがキャッシュされていないかどうかを確認するには、IIS Express を実行するか、ページで ctrl+F5 を実行します。

カスタム エラーをオフに設定すると、デバッグ メッセージが表示されます。オフの「O」は、f の小文字で大文字にする必要があることに注意してください。あなたはこれを持っているように見えますが、言及する価値があります

カスタム エラー オフ - カスタム エラーが無効であることを指定します。これにより、詳細なエラーを表示できます。

于 2014-01-13T18:09:31.033 に答える
-1

モードを [オン] に設定し、web.config を保存してから IIS を更新または再起動し、保存後もモードが [オン] に設定されていることを確認します。もう一度参照すると、エラーが表示されるはずです...

于 2013-06-04T01:46:20.017 に答える