AzureはHttpExceptionでカスタムメッセージを渡しません

ポール・ミームズ

AzureWebAppにRESTAPIがあります。POSTがエンドポイントに送信されると、いくつかのチェックを行い、必要に応じてHttpExceptionをスローします。

throw new HttpException(400, msgInfo);

msgInfo私のカスタムメッセージはどこにありますか。Visual Studio 2015を使用している開発マシンでは、次のように応答します。

{"Message":"An error has occurred.","ExceptionMessage":"[my custom message]","ExceptionType":"System.Web.HttpException","StackTrace":"..."}

これで、ユーザーに役立つメッセージを表示できます。

しかし、Azureでは、応答は次のとおりです。

{"Message":"An error has occurred."}

したがって、カスタムメッセージはありません。

ほとんどの場合、これはAzureの設定です。完全なスタックトレースを表示するべきではないことは理解していますが、表示する必要がありますExceptionMessage

私の中Web.configには:

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

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

これを修正する方法は?

ジョーイカイ

Asp.net Web APIには、さまざまな環境でエラーの詳細を表示する方法について個別の構成があります。

あなたのHttpConfiguration中には、というプロパティがありますIncludeErrorDetailPolicy可能な値は次のとおりです。

public enum IncludeErrorDetailPolicy
{
    // Summary:
    //     Use the default behavior for the host environment. For ASP.NET hosting, usethe value from the customErrors element in the Web.config file. 
    //     For self-hosting, use the value System.Web.Http.IncludeErrorDetailPolicy.LocalOnly.
    Default = 0,

    // Summary:
    //     Only include error details when responding to a local request.
    LocalOnly = 1,
    //
    // Summary:
    //     Always include error details.
    Always = 2,
    //
    // Summary:
    //     Never include error details.
    Never = 3,
}

以下のように構成できます。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseCloudServiceGateway();

        var config = new HttpConfiguration
        {
            IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always // Add this line to enable detail mode in release
        };
        WebApiConfig.Register(config);
        app.UseWebApi(config);
    }
}

詳細については、このスレッドを参照してください

また、<customErrors mode="Off"/>カスタムエラーを無効にすることを指定するを設定することもできます。詳細なASP.NETエラーはリモートクライアントにし、ローカルホストに表示されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AWSCognitoはカスタムメッセージラムダを使用しません

分類Dev

すべてのメッセージではなく、ロガーにカスタム値を渡します

分類Dev

カスタムBeanValidationはCDIBeanを「@注入」せず、メッセージを補間しませんか?

分類Dev

MFC-CWndから派生したカスタムクラスにメッセージを投稿できません

分類Dev

空でないメッセージを送信していますが、Discord Botが「HTTPException:BAD REQUEST(ステータスコード:400):空のメッセージを送信できません」を返します

分類Dev

Angular:HttpResponseを介してカスタムエラーメッセージを返すことはできません

分類Dev

Djangoカスタムバリデーターで例外のメッセージを取得できません

分類Dev

Cakephp3は(カスタム)検証をフラッシュメッセージに渡します

分類Dev

grailsカスタムバリデーター:メッセージを強制しません

分類Dev

Pythonのカスタムフォーマッタはフォーマットされたログメッセージを処理できません

分類Dev

ユーザーにデバイスを招待してカスタムメッセージを作成させることができません

分類Dev

カスタムメッセージを表示するが正しく機能していません

分類Dev

Discord.jsウェルカムメッセージはアバターを表示しません

分類Dev

Hibernate + Springでカスタム検証メッセージを解決できません

分類Dev

Djangoバリデーターフィールドが正しくない場合、RegexValidatorはカスタムメッセージを表示しません

分類Dev

Vue側にExpress res.send()カスタムエラーメッセージを表示できません

分類Dev

Dandelion Datatables + Thymeleafカスタム読み込みメッセージを指定できません

分類Dev

vb.netのカスタムメッセージで「SQLServerへの接続を開くことができませんでした」を処理する方法

分類Dev

Azure:カスタムデータをVMに渡したり実行したりできません

分類Dev

ログストリームはメッセージを取得しません

分類Dev

Rスタジオはエラーメッセージなしでggplot2を使用できません

分類Dev

oninvalid setCustomValidityフィールドは、カスタムエラーメッセージを表示した後、検証されません

分類Dev

カスタムDockerイメージはCMDを継承しません

分類Dev

Doctrine移行でカスタムSQLを実行するときに、「移行は実行されましたが、SQLステートメントが生成されませんでした」というメッセージが表示されないようにします。

分類Dev

Laravel5.5はカスタムメッセージで検証します

分類Dev

@NotEmptyはカスタマイズされた例外メッセージを表示しません

分類Dev

Laravelのカスタムリクエストクラスでメッセージを渡す方法は?

分類Dev

カスタムエラーメッセージAJAXを渡す

分類Dev

CloudDataprocカスタムイメージを作成できません

Related 関連記事

  1. 1

    AWSCognitoはカスタムメッセージラムダを使用しません

  2. 2

    すべてのメッセージではなく、ロガーにカスタム値を渡します

  3. 3

    カスタムBeanValidationはCDIBeanを「@注入」せず、メッセージを補間しませんか?

  4. 4

    MFC-CWndから派生したカスタムクラスにメッセージを投稿できません

  5. 5

    空でないメッセージを送信していますが、Discord Botが「HTTPException:BAD REQUEST(ステータスコード:400):空のメッセージを送信できません」を返します

  6. 6

    Angular:HttpResponseを介してカスタムエラーメッセージを返すことはできません

  7. 7

    Djangoカスタムバリデーターで例外のメッセージを取得できません

  8. 8

    Cakephp3は(カスタム)検証をフラッシュメッセージに渡します

  9. 9

    grailsカスタムバリデーター:メッセージを強制しません

  10. 10

    Pythonのカスタムフォーマッタはフォーマットされたログメッセージを処理できません

  11. 11

    ユーザーにデバイスを招待してカスタムメッセージを作成させることができません

  12. 12

    カスタムメッセージを表示するが正しく機能していません

  13. 13

    Discord.jsウェルカムメッセージはアバターを表示しません

  14. 14

    Hibernate + Springでカスタム検証メッセージを解決できません

  15. 15

    Djangoバリデーターフィールドが正しくない場合、RegexValidatorはカスタムメッセージを表示しません

  16. 16

    Vue側にExpress res.send()カスタムエラーメッセージを表示できません

  17. 17

    Dandelion Datatables + Thymeleafカスタム読み込みメッセージを指定できません

  18. 18

    vb.netのカスタムメッセージで「SQLServerへの接続を開くことができませんでした」を処理する方法

  19. 19

    Azure:カスタムデータをVMに渡したり実行したりできません

  20. 20

    ログストリームはメッセージを取得しません

  21. 21

    Rスタジオはエラーメッセージなしでggplot2を使用できません

  22. 22

    oninvalid setCustomValidityフィールドは、カスタムエラーメッセージを表示した後、検証されません

  23. 23

    カスタムDockerイメージはCMDを継承しません

  24. 24

    Doctrine移行でカスタムSQLを実行するときに、「移行は実行されましたが、SQLステートメントが生成されませんでした」というメッセージが表示されないようにします。

  25. 25

    Laravel5.5はカスタムメッセージで検証します

  26. 26

    @NotEmptyはカスタマイズされた例外メッセージを表示しません

  27. 27

    Laravelのカスタムリクエストクラスでメッセージを渡す方法は?

  28. 28

    カスタムエラーメッセージAJAXを渡す

  29. 29

    CloudDataprocカスタムイメージを作成できません

ホットタグ

アーカイブ