| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.HttpsPolicy;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Hosting;using Newtonsoft.Json.Serialization;using Quartz;using Quartz.Impl;using WCS.Data;using WCS.Workflow;namespace WCS.Service{    public class Startup    {        public Startup(IConfiguration configuration)        {            Configuration = configuration;            SugarBase.DBConnectionString = Configuration["SQLServer"];            AppSettingsHelper.AppSettings = Configuration.GetSection("AppSettings").Get<AppSettings>();        }        public IConfiguration Configuration { get; }        // This method gets called by the runtime. Use this method to add services to the container.        public void ConfigureServices(IServiceCollection services)        {            services.AddControllersWithViews();            Log4netHelper.InitLog4net("NETCoreRepository");            services.AddMvc().AddNewtonsoftJson(options =>            {                options.SerializerSettings.ContractResolver = new DefaultContractResolver(); //去除首字母小写                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm"; //格式化时间            });            //services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));            #region 注入 Quartz调度类            services.AddSingleton<QuartzStartup>();            //注册ISchedulerFactory的实例            services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();            #endregion;        }        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime appLifetime)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }            else            {                app.UseExceptionHandler("/Home/Error");                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.                app.UseHsts();            }            Log4netHelper.Logger_Info.InfoFormat("服务重启");            InitWorkflow.InitData();            //获取前面注入的Quartz调度类            var quartz = app.ApplicationServices.GetRequiredService<QuartzStartup>();            appLifetime.ApplicationStarted.Register(() =>            {                quartz.Start().Wait();            });            appLifetime.ApplicationStopped.Register(() =>            {                quartz.Stop();            });            app.UseHttpsRedirection();            app.UseStaticFiles();            app.UseRouting();            app.UseAuthorization();            app.UseEndpoints(endpoints =>            {                endpoints.MapControllerRoute(                    name: "default",                    pattern: "{controller=Home}/{action=Index}/{id?}");            });        }    }}
 |