// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddJsonOptions(options => { // #維持屬性名稱大小寫 options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver(); }); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials() ); }); services.Configure <MvcOptions>(options => { options.Filters.Add(new CorsAuthorizationFilterFactory("CorsPolicy")); }); ConfigFiles configFiles = Configuration.GetSection("ConfigFiles").Get <ConfigFiles>(); // #目前不考慮整合ASP.NET的Log機制, 因為看不出優點, 單純用NLog就夠了。 NLog.LogManager.Configuration = new XmlLoggingConfiguration(configFiles.NLogConfig); var dbConfig = JsonConvert.DeserializeObject <Dictionary <string, DBHelperConfig> >(File.ReadAllText(configFiles.DBConfig)); // #將DBHelper放入DI services.AddSingleton <DBHelper>(new DBHelper(dbConfig)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = "https://github.com/hyflamewow/", ValidAudience = "https://github.com/hyflamewow/", IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("119d036e-1343-4a8a-b5e7-bd6f165d1aea")) }; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1) .AddJsonOptions(options => { // #維持屬性名稱大小寫 options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver(); }); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials() ); }); services.Configure <MvcOptions>(options => { options.Filters.Add(new CorsAuthorizationFilterFactory("CorsPolicy")); }); ConfigFiles configFiles = Configuration.GetSection("ConfigFiles").Get <ConfigFiles>(); // #目前不考慮整合ASP.NET的Log機制, 因為看不出優點, 單純用NLog就夠了。 NLog.LogManager.Configuration = new XmlLoggingConfiguration(configFiles.NLogConfig); var dbConfig = JsonConvert.DeserializeObject <Dictionary <string, DBConfig> >(File.ReadAllText(configFiles.DBConfig)); // #將DBHelper放入DI services.AddSingleton <DBHelper>(new DBHelper(dbConfig)); }