From 37454e625df68d40897112b2e8c2e3cf4d7163e3 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期三, 25 三月 2026 11:43:10 +0800
Subject: [PATCH] 1
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 55 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 43 insertions(+), 12 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
index 540eeae..02c9b08 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
@@ -1,3 +1,7 @@
+using System.Net.Security;
+using System.Reflection;
+using System.Runtime.ConstrainedExecution;
+using System.Text;
using Autofac;
using Autofac.Core;
using Autofac.Extensions.DependencyInjection;
@@ -13,10 +17,6 @@
using Quartz.Impl;
using Quartz.Spi;
using Serilog;
-using System.Net.Security;
-using System.Reflection;
-using System.Runtime.ConstrainedExecution;
-using System.Text;
using WIDESEA.QuartzJob;
using WIDESEA_Core;
using WIDESEA_Core.Authorization;
@@ -30,8 +30,7 @@
using WIDESEA_DTO.Quartz;
using WIDESEA_WMSServer;
using WIDESEA_WMSServer.Filter;
-using WIDESEA_WMSServer.Jobs;
-using static Quartz.Logging.OperationName;
+using WIDESEAWCS_Core.LogHelper;
var builder = WebApplication.CreateBuilder(args);
@@ -41,6 +40,36 @@
// .WriteTo.Console()
// .WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day)
// .CreateLogger();
+
+AppDomain.CurrentDomain.FirstChanceException += (sender, e) =>
+{
+ bool flag = e.Exception.TargetSite?.DeclaringType?.Namespace?.StartsWith("WIDESEA") == true;
+
+ if (e.Exception is not OperationCanceledException && flag)
+ {
+ string folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Log\\Exception");
+ Exception ex = e.Exception;
+ StringBuilder builder = new StringBuilder();
+ builder.Append("错误信息:");
+ builder.Append(ex.Message);
+ builder.Append(Environment.NewLine);
+ builder.Append("错误源:");
+ builder.Append(ex.Source);
+ builder.Append(Environment.NewLine);
+ builder.Append("错误堆栈:");
+ builder.Append(ex.StackTrace);
+ builder.Append(Environment.NewLine);
+ builder.Append("错误类型:");
+ builder.Append(ex.GetType().ToString());
+ builder.Append(Environment.NewLine);
+ builder.Append("错误方法:");
+ builder.Append(ex.TargetSite?.ToString());
+ builder.Append(Environment.NewLine);
+ builder.Append(Environment.NewLine);
+
+ LoggerHelper.WriteError(e.Exception, folderPath);
+ }
+};
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information() // 设置全局最低日志级别为 Information
@@ -158,6 +187,8 @@
});
builder.Services.AddSingleton<IJobFactory, JobFactory>();
builder.Services.AddTransient<AgvTaskJob>();//Job使用瞬时依赖注入
+builder.Services.AddTransient<InventoryLockJob>();//Job使用瞬时依赖注入
+builder.Services.AddTransient<ErpJob>();//Job使用瞬时依赖注入
builder.Services.AddSingleton<ISchedulerCenter, SchedulerCenterServer>();
builder.Services.AddQuartz(q =>
@@ -172,13 +203,13 @@
.WithIdentity("ErpJob-trigger")
.WithCronSchedule("0 0 10,14,20 * * ?"));
- var inventoryLockJobKey = new JobKey("InventoryLockJob");
- q.AddJob<InventoryLockJob>(opts => opts.WithIdentity(inventoryLockJobKey));
+ //var inventoryLockJobKey = new JobKey("InventoryLockJob");
+ //q.AddJob<InventoryLockJob>(opts => opts.WithIdentity(inventoryLockJobKey));
- q.AddTrigger(opts => opts
- .ForJob(inventoryLockJobKey)
- .WithIdentity("InventoryLockJob-trigger")
- .WithCronSchedule("0 0/10 * * * ?")); // 每10分钟执行一次
+ //q.AddTrigger(opts => opts
+ // .ForJob(inventoryLockJobKey)
+ // .WithIdentity("InventoryLockJob-trigger")
+ // .WithCronSchedule("0 0/10 * * * ?")); // 每10分钟执行一次
});
builder.Services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true);
--
Gitblit v1.9.3