From 8c6fd742db249ad4cc819cf041eb98d880a3ef73 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期四, 02 一月 2025 15:09:07 +0800 Subject: [PATCH] 1 --- WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs index b8dd099..c9c2d11 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs @@ -24,6 +24,7 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_QuartzJob.QuartzNet; namespace WIDESEAWCS_QuartzJob.QuartzExtensions { @@ -32,21 +33,42 @@ /// </summary> public static class JobSetup { + /// <summary> + /// 璋冨害鏈嶅姟娉ㄥ叆 + /// </summary> + /// <param name="services"></param> + /// <exception cref="ArgumentNullException"></exception> public static void AddJobSetup(this IServiceCollection services) { if (services == null) throw new ArgumentNullException(nameof(services)); + if (!HslCommunication.Authorization.SetAuthorizationCode("891c8f18-d6de-409f-81f4-6de405431905")) + { + Console.WriteLine("hslcommunication active failed"); + Console.ReadLine(); + } + + services.AddSingleton<Storage>(); + services.AddSingleton<QuartzNetExtension>(); + //灏咼obFactory娉ㄥ叆鍒版湇鍔′腑 services.AddSingleton<IJobFactory, JobFactory>(); + //灏哠chedulerCenterServer娉ㄥ叆鍒版湇鍔′腑 services.AddSingleton<ISchedulerCenter, SchedulerCenterServer>(); //浠诲姟娉ㄥ叆 var baseType = typeof(IJob); + //鑾峰彇褰撳墠搴旂敤绋嬪簭鍩熺殑鐩稿鎼滅储璺緞 var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; + //鑾峰彇鎸囧畾璺緞涓嬬殑鎵�鏈夌▼搴忛泦 var referencedAssemblies = System.IO.Directory.GetFiles(path, "WIDESEAWCS_Tasks.dll").Select(Assembly.LoadFrom).ToArray(); + //鑾峰彇鎵�鏈夊畾涔夌殑绫诲瀷 var types = referencedAssemblies .SelectMany(a => a.DefinedTypes) .Select(type => type.AsType()) + //绛涢�夊嚭缁ф壙鑷狪Job鐨勭被鍨� .Where(x => x != baseType && baseType.IsAssignableFrom(x)).ToArray(); + //鑾峰彇鎵�鏈夊疄鐜颁簡IJob鐨勭被鍨� var implementTypes = types.Where(x => x.IsClass).ToArray(); + //灏嗘墍鏈夊疄鐜颁簡IJob鐨勭被鍨嬫敞鍏ュ埌鏈嶅姟涓� foreach (var implementType in implementTypes) { services.AddTransient(implementType); -- Gitblit v1.9.3