|
|
|
|
@ -44,7 +44,9 @@ namespace ConsoleApp
|
|
|
|
|
var services = scope.ServiceProvider;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
serilogHelper = services.GetRequiredService<SerilogHelper>();
|
|
|
|
|
serilogHelper.Info($"启动服务");
|
|
|
|
|
var appConfig = services.GetRequiredService<AppConfig>();
|
|
|
|
|
|
|
|
|
|
// 强制设置实例ID到配置对象
|
|
|
|
|
@ -56,12 +58,12 @@ namespace ConsoleApp
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"实例 {instanceId} 服务初始化失败: {ex.Message}");
|
|
|
|
|
Console.WriteLine($"详细错误: {ex}");
|
|
|
|
|
throw;
|
|
|
|
|
serilogHelper.Info($"详细错误: {ex}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 启动host
|
|
|
|
|
serilogHelper.Info($"正在启动实例 {instanceId} 的Host...");
|
|
|
|
|
Console.WriteLine($"正在启动实例 {instanceId} 的Host...");
|
|
|
|
|
var hostTask = host.RunAsync();
|
|
|
|
|
|
|
|
|
|
@ -92,12 +94,12 @@ namespace ConsoleApp
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"实例 {instanceId} 启动失败: {ex.Message}");
|
|
|
|
|
Console.WriteLine($"堆栈跟踪: {ex.StackTrace}");
|
|
|
|
|
serilogHelper?.Error($"实例 {instanceId} 启动失败: {ex.Message}\n{ex.StackTrace}");
|
|
|
|
|
serilogHelper?.Info($"实例 {instanceId} 启动失败: {ex.Message}\n{ex.StackTrace}");
|
|
|
|
|
|
|
|
|
|
if (ex.InnerException != null)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"内部异常: {ex.InnerException.Message}");
|
|
|
|
|
serilogHelper?.Error($"内部异常: {ex.InnerException.Message}");
|
|
|
|
|
serilogHelper?.Info($"内部异常: {ex.InnerException.Message}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
@ -144,7 +146,8 @@ namespace ConsoleApp
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果没有指定实例ID,使用随机ID避免冲突
|
|
|
|
|
return Guid.NewGuid().ToString("N").Substring(0, 4);
|
|
|
|
|
Random random = new Random();
|
|
|
|
|
return random.Next(0000, 9999).ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static ConsoleColor GetConsoleColor(string instanceId)
|
|
|
|
|
@ -211,6 +214,7 @@ namespace ConsoleApp
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"设置实例配置时出错: {ex.Message}");
|
|
|
|
|
serilogHelper?.Info($"设置实例配置时出错: {ex.Message}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|