using Furion; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.Text.Json.Serialization; namespace IStation.Channel { [AppStartup(10)] public class Startup : AppStartup { public void ConfigureServices(IServiceCollection services) { services.AddJwt(); services.AddCorsAccessor(); services.AddControllers(c => { c.Filters.Add(); }).AddInject(); services.AddJsonOptions(options => { //返回属性大小写问题 options.JsonSerializerOptions.PropertyNamingPolicy = null; //返回时间格式 options.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter()); options.JsonSerializerOptions.Converters.Add(new DateTimeNullableJsonConverter()); //忽略循环引用 options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; // 仅.NET 6支持 }); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseCorsAccessor(); app.UseAuthentication(); app.UseAuthorization(); app.UseInject(string.Empty); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } } }