我需要有正确方向的见解/建议,我想这不是一件容易的事.要求是:
您的见解和指导是高度学徒的.谢谢
我有一个要求,我想检查数据库是否已连接(我有这方面的课程)。如果此类的方法返回 false,那么我想重定向到将进行设置的数据库页面/视图。我有 Asp.Net 核心身份。我想在 EF 核心尝试连接到数据库之前检查这个条件。我尝试使用以下内容,但返回“浏览器中的重定向过多”。注意:家庭控制器中的每个方法都有 [Authorize],除了 DatabaseCheck。一旦用户被重定向到这里,我将获取值并更新 Appsettings.json,应用程序将正常运行。感谢您的见解。
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(Configuration);
services.AddDbContext<MyContext>(options =>
options.UseSqlServer(SqlSettingsProvider.GetSqlConnection()));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<MyContext>()
.AddDefaultTokenProviders();
services.ConfigureApplicationCookie(options => options.LoginPath = "/Account/LogIn");
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.Formatting = Formatting.Indented;
}).AddJsonOptions(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
if (!DatabaseInstalledMiddleware.IsDatabaseInstalled(Configuration))
app.UseMiddleware<DatabaseInstalledMiddleware>();
app.UseStatusCodePagesWithReExecute("/StatusCodes/{0}");
app.UseStaticFiles();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "defaultApi",
template: "api/v2/{controller}/{id?}"); …Run Code Online (Sandbox Code Playgroud)