From 70233af5426b0d1c343ebe87183303a34a9aaa58 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 20 十一月 2024 09:05:38 +0800 Subject: [PATCH] WIDESEAWCS_QuartzJob更新版本 --- WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/JobSetup.cs index b8dd099..68995a9 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 { @@ -36,17 +37,27 @@ { if (services == null) throw new ArgumentNullException(nameof(services)); + 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