2025-09-10 09:05:05 +08:00

68 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.Configuration;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
namespace JiShe.IoT;
public class Program
{
public static async Task<int> Main(string[] args)
{
try
{
//string text = Convert.ToBase64String(Encoding.UTF8.GetBytes("admin:admin123"));
Log.Information("JiShe.IoT.HttpApi.Host.");
var builder = WebApplication.CreateBuilder(args);
builder.Host
.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog((context, loggerConfiguration) =>
{
SerilogToEsExtensions.SetSerilogConfiguration(
loggerConfiguration,
context.Configuration);
})
.ConfigureAppConfiguration((context, builder) =>
{
var env = context.HostingEnvironment.EnvironmentName;
Log.Information("当前环境 " + env);
string[] filePathArray = new string[] { Environment.CurrentDirectory, "configs" };
string jsonPath = Path.Combine(filePathArray);
builder.AddJsonFile(Path.Combine(jsonPath, "appsettings.json"), false, true);
builder.AddJsonFile(Path.Combine(jsonPath, $"appsettings.{env}.json"), false, true);
});
await builder.AddApplicationAsync<JiShe.IoT.IoTHttpApiHostModule>();
builder.WebHost.ConfigureKestrel((context, options) =>
{
options.Limits.MaxRequestBodySize = 100 * 1024 * 1024; // 100MB null不受限制
options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(2);
options.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(1);
//获取或设置请求正文的最小数据速率(字节/秒。将此属性设置为NULL表示不应强制执行最小数据速率。////获取或设置请求正文的最小数据速率(字节/秒。将此属性设置为NULL表示不应强制执行最小数据速率。
options.Limits.MinRequestBodyDataRate = null;//new MinDataRate(bytesPerSecond: 2048, gracePeriod: TimeSpan.FromSeconds(10));
});
builder.WebHost.UseUrls($"http://+:10500");
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();
return 0;
}
catch (Exception ex)
{
if (ex is HostAbortedException)
{
throw;
}
Log.Fatal(ex, "Host terminated unexpectedly!");
return 1;
}
finally
{
await Log.CloseAndFlushAsync();
}
}
}