Asp.net core mvc 启动时重定向MVC6应用程序
我想知道,如果没有配置web应用程序,是否有可能重定向用户 起初我认为这可以在start.cs文件中的Configure方法中完成,但有消息告诉我这可能不可能Asp.net core mvc 启动时重定向MVC6应用程序,asp.net-core-mvc,Asp.net Core Mvc,我想知道,如果没有配置web应用程序,是否有可能重定向用户 起初我认为这可以在start.cs文件中的Configure方法中完成,但有消息告诉我这可能不可能 目前,我正在检查登录控制器中的配置状态,但对我来说,这似乎是草率的,因此我正在寻找更好的解决方案,但我一直在画空白。也就是说,最好的方法是什么?您可以尝试在管道的开头添加一些中间件。(您可以查看asp文档的概述,也可以很好地概述asp 5中的新中间件功能) 一种简单的方法是在注册MVC管道之前,将其添加为内联中间件。将启动.cs的配置方法
目前,我正在检查登录控制器中的配置状态,但对我来说,这似乎是草率的,因此我正在寻找更好的解决方案,但我一直在画空白。也就是说,最好的方法是什么?您可以尝试在管道的开头添加一些中间件。(您可以查看asp文档的概述,也可以很好地概述asp 5中的新中间件功能) 一种简单的方法是在注册MVC管道之前,将其添加为内联中间件。将启动.cs的
配置方法更新为:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.Use(async (context, next) =>
{
if (!YourWayOfCheckingIfAppIsConfigured())
{
//redirect to another location if not ready
context.Response.Redirect("/Home/NotReady");
return;
}
//app is ready, invoke next component in the pipeline (MVC)
await next.Invoke(context);
});
... configure MVC
如果需要更复杂的逻辑,可以将其封装在自己的中间件类中(请参见asp文档或部分),并在Configure
方法的开头注册:
app.UseMiddleware<MyWaitForAppStartupMiddleware>();
app.UseMiddleware();
如何确定应用程序是否已配置?我对数据库进行了两次不同的检查,以确定应用程序是否已设置