1
私はASP.NET Coreを初めてお使いになり、最初のWebサイトを構築しようとしています。私はエラー処理に苦労していて、実際にはアドバイスが必要です。私は成功した404500のエラーをキャッチするようだと、正しいとエラービューのページを表示するホームコントローラ404 HTTPSのエラー処理ですか?
[HttpGet("Home/error/{errcode}")]
public IActionResult Error(int errCode)
{
return View("Error", errCode);
}
でstartup.cs
にコード app.UseStatusCodePagesWithReExecute("/Home/Error/{0}");
を使用していた404エラーを処理するために
コード。エラー表示は/Views/Shared/Error.cshtml
である。しかし、私はstartup.csでこのようにHTTPからHTTPSにリダイレクトを追加するとき
app.Use(async (context, next) =>
{
if (context.Request.IsHttps)
{
await next();
}
else
{
var httpsUrl = "https://" + context.Request.Host + context.Request.Path;
context.Response.Redirect(httpsUrl);
}
});
エラー処理はもう動作と
FirefoxでSecure Connection Failed
Error code: SSL_ERROR_RX_RECORD_TOO_LONG
は表示されません
これはこのようになります。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error/{0}");
// StatusCodePagesMiddleware to handle errors
app.UseStatusCodePagesWithReExecute("/Home/Error/{0}");
}
app.UseStaticFiles();
app.UseIdentity();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=LandingPage}/{id?}");
});
app.Use(async (context, next) =>
{
if (context.Request.IsHttps)
{
await next();
}
else
{
var httpsUrl = "https://" + context.Request.Host + context.Request.Path;
context.Response.Redirect(httpsUrl);
}
});
}
ASP.NET MVC Core1.0でHTTPSエラーを処理するにはどうすればよいですか?
ありがとうございました!
あなたはconfiugrationプロパティを投稿しましたか? – Tinwor
これはどういう意味ですか? '{ "iisSettings":{ "windowsAuthentication":偽、 "anonymousAuthentication":真、 "iisExpress":{ "applicationUrl": "のhttp:// localhostを:53519 /"、 "SSLPORT": 0 } }、 ' –
sslportの値を変更して再試行してください。私の仕事環境では44300に設定され、完全に動作します – Tinwor