// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.ConfigureNLog("nlog.config");
loggerFactory.AddNLog();
app.UseRequestIPMiddleware();
InitializeNetCoreBBSDatabase(app.ApplicationServices);
app.UseDeveloperExceptionPage();
app.UseStaticFiles();
app.UseAuthentication();
app.UseStatusCodePages();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller}/{action}",
defaults: new { action = "Index" });
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
private void InitializeNetCoreBBSDatabase(IServiceProvider serviceProvider)
{
using (var serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
var db = serviceScope.ServiceProvider.GetService<DataContext>();
db.Database.Migrate();
if (db.TopicNodes.Count() == 0)
{
db.TopicNodes.AddRange(GetTopicNodes());
db.SaveChanges();
}
}
}