提供されたクエリ文字列に応じて、ユーザーに少し異なるエラーメッセージが表示される1つのエラーページがあります。ASP.netでのエラー処理と混同5 MVC 6
新しいasp.net 5プロジェクトを作成するときに、Startup.csファイルに次のコードがあることがあります。
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
例外が発生したときに正しいエラーページを表示することができました。私の問題は、自分のアプリケーションで処理されていないエラー、つまり常にステータスコード500
を捕捉したように見えるということです。これは正しいです?私のコントローラのように実装して
app.UseStatusCodePagesWithReExecute("/Error/{0}");
:
[HttpGet("{statusCode}")]
public IActionResult Error(int statusCode)
{
return View(statusCode);
}
これは404
エラーをキャッチするようだと、正しいステータスコードを表示し、私は次のコードを使用してい404
エラーを処理する
。
文は、たとえば同じアクションを使用する場合、私は上記の私のコードを更新した場合:
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error/{0}");
}
をステータスコードが返されたとき400
何が起こるかまた常に0
あり、 403
などが発生しますか?彼らは捕らえられるのだろうか?もしそうなら、どんな時に彼らは捕らえられるでしょうか?
私は非常に混乱していると言えるでしょうが、誰かが私にさまざまなステータスコードがすべて処理される例を提供するのが大好きです。
文句を言わないが、Global.asaxのヘルプ内部のApplication_Errorイベントでグローバルにエラーをキャッチ? http://stackoverflow.com/questions/16884074/asp-net-mvc-application-error-handler-in-global-asax –
asp.net MVC5のように見えますか? –
'UseExceptionHandler'のコードを投稿してください。 – Mairaj