You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
5.9 KiB
117 lines
5.9 KiB
using Infrastructure.Application;
|
|
using Infrastructure.Configuration;
|
|
using Infrastructure.Extensions;
|
|
using Infrastructure.Web.Hosting;
|
|
using Microsoft.AspNetCore;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Microsoft.Extensions.Logging;
|
|
using Serilog;
|
|
using Serilog.Formatting.Json;
|
|
using Serilog.Sinks.Elasticsearch;
|
|
using Serilog.Sinks.RollingFile;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace IoTCenter
|
|
{
|
|
public class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile("appsettings.json", optional: true)
|
|
.Build();
|
|
WebHost.CreateDefaultBuilder(args)
|
|
.ConfigureAppConfiguration(o => o.AddNacosConfiguration(o =>
|
|
{
|
|
var section = config.GetSection("nacos");
|
|
o.ServerAddresses = section.GetValue<string>("ServerAddresses").Split(';').ToList();
|
|
o.Optional = section.GetValue<bool>("Optional");
|
|
o.DataId = section.GetValue<string>("DataId");
|
|
o.Group = section.GetValue<string>("Group");
|
|
o.Tenant = section.GetValue<string>("Tenant");
|
|
}))
|
|
//.Configure(o =>
|
|
//{
|
|
// o.UseNacosAspNetCore();
|
|
//})
|
|
//.ConfigureServices((c, o) =>
|
|
//{
|
|
// o.AddNacosAspNetCore(c.Configuration);
|
|
//})
|
|
.ConfigureLogging((c, o) => //http://localhost:9200/_search?size=100
|
|
{
|
|
var url = c.Configuration["elasticsearch:url"];
|
|
Log.Logger = new LoggerConfiguration()
|
|
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(url))
|
|
{
|
|
TypeName = "_doc",
|
|
AutoRegisterTemplate = true,
|
|
AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7,
|
|
FailureCallback = e => Console.WriteLine("Unable to submit event " + e.MessageTemplate),
|
|
EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |
|
|
EmitEventFailureHandling.WriteToFailureSink |
|
|
EmitEventFailureHandling.RaiseCallback,
|
|
FailureSink = new RollingFileSink("logs/log.txt", new JsonFormatter(), fileSizeLimitBytes: 100 * 1024 * 1024, 1)
|
|
})
|
|
.CreateLogger();
|
|
o.AddSerilog();
|
|
})
|
|
.UseStartup<Startup>()
|
|
.Build()
|
|
.Run();
|
|
}
|
|
|
|
private static void NewMethod(string[] args)
|
|
{
|
|
Console.OutputEncoding = Encoding.UTF8;
|
|
var host = "localhost";
|
|
var macAddress = Helper.Instance.GetMacAddress();
|
|
var webHost = WebHost.CreateDefaultBuilder(args)
|
|
.Config<Startup>(new List<EFConfigurationValue> {
|
|
new EFConfigurationValue { Id = "sn", Value=macAddress },
|
|
new EFConfigurationValue { Id = "id", Value= macAddress.Md5() },
|
|
new EFConfigurationValue { Id = "code", Value= "根据id生成的授权码" },
|
|
new EFConfigurationValue { Id = "usercenter:key", Value= "123456"},
|
|
new EFConfigurationValue { Id = "usercenter:login", Value= $"http://{host}:8010/Account/Login"},
|
|
new EFConfigurationValue { Id = "usercenter:logout", Value= $"http://{host}:8010/Account/Logout"},
|
|
new EFConfigurationValue { Id = "usercenter:register", Value= $"http://{host}:8010/Account/Register"},
|
|
new EFConfigurationValue { Id = "influxdb:url", Value= $"http://{host}:8086"},
|
|
new EFConfigurationValue { Id = "influxdb:usr", Value= "admin"},
|
|
new EFConfigurationValue { Id = "influxdb:pwd", Value= "admin"},
|
|
new EFConfigurationValue { Id = "srs", Value= "http://localhost:1985"},
|
|
//
|
|
new EFConfigurationValue { Id = "name", Value= "物联中心"},
|
|
new EFConfigurationValue { Id = "logo", Value= "/images/logo.png",Type= InputType.ImageUrl},
|
|
new EFConfigurationValue { Id = "copyright", Value= "Copyright © {now} Company. All rights reserved",Type= InputType.Html},
|
|
//
|
|
new EFConfigurationValue { Id = "server.urls", Value= "http://*:8013" },
|
|
new EFConfigurationValue { Id = "BasePath", Value= "/IoTCenter"},
|
|
new EFConfigurationValue { Id = "security:key", Value= "111111111111111111111111"},
|
|
new EFConfigurationValue { Id = "jwt:key", Value= "111111111111111111111111"},
|
|
new EFConfigurationValue { Id = "jwt:issuer", Value= "111111111111111111111111"},
|
|
new EFConfigurationValue { Id = "jwt:audience", Value= "111111111111111111111111"},
|
|
new EFConfigurationValue { Id = "openapi.name", Value= "v1" },
|
|
new EFConfigurationValue { Id = "openapi.title", Value= "web api" },
|
|
new EFConfigurationValue { Id = "openapi.version", Value= "1.0" },
|
|
}, useLogServer: true)
|
|
.Build();
|
|
var logger = webHost.Services.GetRequiredService<ILogger<Program>>();
|
|
try
|
|
{
|
|
webHost.Run();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.LogError(ex.ToString());
|
|
}
|
|
}
|
|
}
|
|
} |