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<JwtHandler>();
|
|
services.AddCorsAccessor();
|
|
services.AddControllers(c => {
|
c.Filters.Add<CustomExceptionFilter>();
|
}).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();
|
});
|
}
|
}
|
}
|