2016-06-29 9 views
0

私のバックエンドからフロントエンドへ500例外を返したいが、Response.StatusCode = 500を実行することを選択するたびに、コードは500標準返却ページを返すようだ。システムに500エラーであると伝えることを選択した後で、自分のデータを返すことはありますか?返信時の情報の返却方法

[HttpPost] 
public async Task<ActionResult> AccountInformation(OrganizationAccountInformationVM vm) 
{ 
    var response = await _adminFacade.UpdateOrganizationAsync(organization); 

    if (response.HasErrors) 
    { 
     Response.StatusCode = (int)HttpStatusCode.InternalServerError; 
     return Json(new {Code = "500", Header = "Error", Message = "Wrong"}); 
    } 
    Response.StatusCode = (int)HttpStatusCode.OK; 
    return Json(new {Code = "400", Header = "Success", Message= "UpdatedSuccessful"}); 
} 

resposneのHasErrors場合には、このコードは、エラーがない場合は、「良い」データを返すと、「悪い」のデータ(全体のhtmlページ)します。私が間違っていることを知っていますか?

public async Task AccountInformation(OrganizationAccountInformationVM vm) 
    { 
     HttpContext.Response.TrySkipIisCustomErrors = true; 
     // your response with code 500 
    } 

答えて

1

あなたがエラーを交換しないように指定することができます:あなたがあなた自身をデフォルトのIISのエラーページを表示するが、代わりに表示したくない場合は

+0

ありがとうを見てみましょう!これは私の問題を解決します!とにかくPassThroughをいくつかのエラーコードで行い、Replaceをいくつか行うのですか? – user2687506

+1

@ user2687506ステータスコードを設定してもレスポンスが含まれていないと、システムはエラー応答を生成します。私は試していませんが、ドキュメントを読むことはこれを示しています。 –

関連する問題