94 lines
4.0 KiB
C#
94 lines
4.0 KiB
C#
using JiShe.ServicePro.Core;
|
||
|
||
namespace JiShe.IoT;
|
||
|
||
public class Program
|
||
{
|
||
public static async Task<int> Main(string[] args)
|
||
{
|
||
try
|
||
{
|
||
//var options = new Yitter.IdGenerator.IdGeneratorOptions(2);
|
||
//Yitter.IdGenerator.YitIdHelper.SetIdGenerator(options);
|
||
//long nanosecondsFromSnowflakeId = ServicePro.Core.TimestampHelper.NextUnixNanosecondsFromSnowflakeId();
|
||
//long nanosecondsDateOffset = ServicePro.Core.TimestampHelper.ToUnixTimeNanoseconds(DateTimeOffset.UtcNow);
|
||
|
||
//BusinessSystemAggregation.Dto.BatchQueryDeviceDataInfoInput batchQueryDeviceDataInfoInput = new BusinessSystemAggregation.Dto.BatchQueryDeviceDataInfoInput()
|
||
//{
|
||
// DeviceType = ServicePro.Enums.DeviceTypeEnum.Ammeter,
|
||
// DeviceAddresses = new List<string>()
|
||
// {
|
||
// "332018305",
|
||
// "332053764",
|
||
// },
|
||
// BeginTime = DateTime.Now.AddDays(-1),
|
||
// EndTime = DateTime.Now,
|
||
// IoTDataType = "Data",
|
||
//};
|
||
//OpenApiRequest openApiRequest = new OpenApiRequest()
|
||
//{
|
||
// Message = JiShe.ServicePro.Core.ServiceProJsonSerializer.Serialize(batchQueryDeviceDataInfoInput,false),
|
||
// Signature = "admin:admin123",
|
||
// Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||
// Nonce = "admin:admin123",
|
||
//};
|
||
|
||
//string signature = openApiRequest.Serialize();
|
||
|
||
|
||
//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("<22><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> <20><>" + 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<6C><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(2);
|
||
options.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(1);
|
||
|
||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3>ֽ<EFBFBD>/<2F>룩<EFBFBD><EBA3A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>ʾ<EFBFBD><CABE>Ӧǿ<D3A6><C7BF>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD>////<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3>ֽ<EFBFBD>/<2F>룩<EFBFBD><EBA3A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>ʾ<EFBFBD><CABE>Ӧǿ<D3A6><C7BF>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD>
|
||
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();
|
||
}
|
||
}
|
||
} |