From 499167057f393ba2f8243f14bfe1721a0c59596e Mon Sep 17 00:00:00 2001 From: wenjy Date: Tue, 26 Mar 2024 23:29:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?change=20-=20=E6=B3=A8=E9=87=8A=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.WPF/Startup.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SlnMesnac.WPF/Startup.cs b/SlnMesnac.WPF/Startup.cs index e11cc97..23a2ace 100644 --- a/SlnMesnac.WPF/Startup.cs +++ b/SlnMesnac.WPF/Startup.cs @@ -72,6 +72,11 @@ namespace SlnMesnac.WPF RegisterImplementations(builder, typeof(Repository<>).Assembly); } + /// + /// 自动注入接口实现 + /// + /// + /// private static void RegisterImplementations(ContainerBuilder builder, Assembly assembly) { //自动注入仓储层的接口实现类 From 03e8d64680df41c59bf1a9da87db6dbcd099656e Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 27 Mar 2024 19:36:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?change=20-=20=E5=AE=8C=E5=96=84AutoFac?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.Common/CommonSetup.cs | 15 ----- SlnMesnac.Mqtt/MqttSetup.cs | 15 ----- SlnMesnac.Plc/PlcSetup.cs | 16 ++--- SlnMesnac.Rfid/RfidSetup.cs | 7 --- SlnMesnac.TouchSocket/TouchSocketSetup.cs | 5 -- SlnMesnac.WPF/App.xaml.cs | 6 +- SlnMesnac.WPF/SlnMesnac.WPF.csproj | 1 + SlnMesnac.WPF/Startup.cs | 77 +++++++++++++++++------ SlnMesnac/Startup.cs | 4 -- 9 files changed, 68 insertions(+), 78 deletions(-) delete mode 100644 SlnMesnac.Common/CommonSetup.cs delete mode 100644 SlnMesnac.Mqtt/MqttSetup.cs diff --git a/SlnMesnac.Common/CommonSetup.cs b/SlnMesnac.Common/CommonSetup.cs deleted file mode 100644 index dc9fb33..0000000 --- a/SlnMesnac.Common/CommonSetup.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace SlnMesnac.Common -{ - public static class CommonSetup - { - public static void AddCommonSetup(this IServiceCollection services) - { - services.AddSingleton(); - } - } -} diff --git a/SlnMesnac.Mqtt/MqttSetup.cs b/SlnMesnac.Mqtt/MqttSetup.cs deleted file mode 100644 index 447175a..0000000 --- a/SlnMesnac.Mqtt/MqttSetup.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace SlnMesnac.Mqtt -{ - public static class MqttSetup - { - public static void AddMqttSetup(this IServiceCollection services) - { - services.AddSingleton(); - } - } -} diff --git a/SlnMesnac.Plc/PlcSetup.cs b/SlnMesnac.Plc/PlcSetup.cs index 6220baa..0fdfa54 100644 --- a/SlnMesnac.Plc/PlcSetup.cs +++ b/SlnMesnac.Plc/PlcSetup.cs @@ -1,4 +1,6 @@ -using Microsoft.AspNetCore.Builder; +using System.Linq; +using System.Reflection; +using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using SlnMesnac.Plc.Factory; @@ -6,22 +8,12 @@ namespace SlnMesnac.Plc { public static class PlcSetup { - public static void AddPlcSetup(this IServiceCollection services) - { - services.AddSingleton(); - - //services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - } - public static IApplicationBuilder UsePlcExtensions(this IApplicationBuilder app) { var plcPool = app.ApplicationServices.GetService(); plcPool.Init(); return app; } + } } diff --git a/SlnMesnac.Rfid/RfidSetup.cs b/SlnMesnac.Rfid/RfidSetup.cs index 1d24dea..746f4fa 100644 --- a/SlnMesnac.Rfid/RfidSetup.cs +++ b/SlnMesnac.Rfid/RfidSetup.cs @@ -6,13 +6,6 @@ namespace SlnMesnac.Rfid { public static class RfidSetup { - public static void AddRfidSetup(this IServiceCollection services) - { - services.AddSingleton(); - - services.AddSingleton(); - } - public static IApplicationBuilder UseRfidExtensions(this IApplicationBuilder app) { var pool = app.ApplicationServices.GetService(); diff --git a/SlnMesnac.TouchSocket/TouchSocketSetup.cs b/SlnMesnac.TouchSocket/TouchSocketSetup.cs index b300018..293f3d3 100644 --- a/SlnMesnac.TouchSocket/TouchSocketSetup.cs +++ b/SlnMesnac.TouchSocket/TouchSocketSetup.cs @@ -12,11 +12,6 @@ namespace SlnMesnac.TouchSocket /// public static class TouchSocketSetup { - public static void AddTouchSocketSetup(this IServiceCollection services) - { - services.AddSingleton();//注册TouchSocket的服务 - services.AddSingleton(); - } public static IApplicationBuilder UseTouchSocketExtensions(this IApplicationBuilder app) { diff --git a/SlnMesnac.WPF/App.xaml.cs b/SlnMesnac.WPF/App.xaml.cs index 00fe691..d5e67e1 100644 --- a/SlnMesnac.WPF/App.xaml.cs +++ b/SlnMesnac.WPF/App.xaml.cs @@ -17,6 +17,11 @@ using SlnMesnac.Common; using SlnMesnac.Repository.service; using SlnMesnac.Repository.service.Impl; using SlnMesnac.Plc.Factory; +using SlnMesnac.Rfid.Factory; +using SlnMesnac.Rfid; +using SlnMesnac.TouchSocket; +using SlnMesnac.Mqtt; +using SlnMesnac.Business; namespace SlnMesnac.WPF { @@ -46,7 +51,6 @@ namespace SlnMesnac.WPF var host = CreateHostBuilder(e.Args).Build();//生成宿主。 ServiceProvider = host.Services; - //var baseMaterialService = ServiceProvider.GetRequiredService(); var appConfig = host.Services.GetService(); var logPath = $"{appConfig.logPath}/Logs/{DateTime.UtcNow:yyyy-MM-dd}/"; diff --git a/SlnMesnac.WPF/SlnMesnac.WPF.csproj b/SlnMesnac.WPF/SlnMesnac.WPF.csproj index ba18e65..bd6e928 100644 --- a/SlnMesnac.WPF/SlnMesnac.WPF.csproj +++ b/SlnMesnac.WPF/SlnMesnac.WPF.csproj @@ -19,6 +19,7 @@ + diff --git a/SlnMesnac.WPF/Startup.cs b/SlnMesnac.WPF/Startup.cs index 23a2ace..5a8c98a 100644 --- a/SlnMesnac.WPF/Startup.cs +++ b/SlnMesnac.WPF/Startup.cs @@ -19,6 +19,7 @@ using Microsoft.Extensions.Configuration; using SlnMesnac.Mqtt; using SlnMesnac.Rfid; using SlnMesnac.TouchSocket; +using TouchSocket.Sockets; namespace SlnMesnac.WPF { @@ -44,32 +45,38 @@ namespace SlnMesnac.WPF }); - //注册通用类 - services.AddCommonSetup(); - //注册ORM services.AddSqlSugarSetup(); - - //注册Quartz - //services.AddQuartzSetUp(); - - //注册PLC - services.AddPlcSetup(); - - //注册MQTT - services.AddMqttSetup(); - - //注册TouchSocket - services.AddTouchSocketSetup(); - - //注册RFID - services.AddRfidSetup(); } + /// + /// AutoFac自动注入 + /// + /// public void ConfigureContainer(ContainerBuilder builder) { + //注入Repository builder.RegisterGeneric(typeof(Repository<>)).As(typeof(Repository<>)); - RegisterImplementations(builder, typeof(Repository<>).Assembly); + RegisterImplementations(builder, Assembly.LoadFrom("SlnMesnac.Repository.dll")); + + //注入Plc + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Plc.dll")); + + //注入Rfid + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Rfid.dll")); + + //注入通用类 + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Common.dll")); + + //注入MQTT + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Mqtt.dll")); + + //注入TouchSocket + builder.RegisterType(typeof(TcpService)); + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.TouchSocket.dll")); + + //注入业务类 + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Business.dll")); } /// @@ -95,6 +102,38 @@ namespace SlnMesnac.WPF } } + /// + /// 自动注入自定义类、抽象类 + /// + /// + /// + private static void RegisterType(ContainerBuilder builder, Assembly assembly) + { + var types = assembly.GetTypes() + .Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType) + .ToList(); + + foreach (var type in types) + { + var interfaces = type.GetInterfaces(); + var baseType = type.BaseType; + + #region 只注入抽象类 Delete By wenjy 2024-03-27 + //if (baseType != null && baseType.IsAbstract && baseType == typeof(PlcAbsractFactory)) + //{ + // builder.RegisterType(type); + //} + #endregion + + + if (!typeof(Delegate).IsAssignableFrom(type)) //不注入委托事件 + { + builder.RegisterType(type); + } + } + } + + /// /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. /// diff --git a/SlnMesnac/Startup.cs b/SlnMesnac/Startup.cs index fad02a2..971cb8d 100644 --- a/SlnMesnac/Startup.cs +++ b/SlnMesnac/Startup.cs @@ -72,8 +72,6 @@ namespace SlnMesnac }); - //注册通用类 - services.AddCommonSetup(); //注册SqlSugar services.AddSqlSugarSetup(); @@ -84,8 +82,6 @@ namespace SlnMesnac //注册任务调度 services.AddQuartzSetUp(); - //注册PLC - services.AddPlcSetup(); } /// From 3748423e5e02660aaec10c81a14dbe9221743721 Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 27 Mar 2024 22:55:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?add=20-=20=E6=B7=BB=E5=8A=A0IOC=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=B0=86=E4=BE=9D=E8=B5=96=E6=B3=A8=E5=85=A5=E5=9C=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B9=E4=B8=AD=E5=89=A5=E7=A6=BB=20change?= =?UTF-8?q?=20-=20=E5=AE=8C=E5=96=84=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.Common/ExpressionExtensions.cs | 22 ++++ SlnMesnac.Common/StringChange.cs | 33 +++-- SlnMesnac.Config/AppConfig.cs | 23 ++++ SlnMesnac.Config/PlcConfig.cs | 23 ++++ SlnMesnac.Config/RfidConfig.cs | 28 +++- SlnMesnac.Config/SqlConfig.cs | 23 ++++ SlnMesnac.Ioc/DependencyConfigurator.cs | 120 ++++++++++++++++++ SlnMesnac.Ioc/SlnMesnac.Ioc.csproj | 18 +++ SlnMesnac.Model/domain/BaseMaterialInfo.cs | 25 ++++ SlnMesnac.Model/domain/BaseUser.cs | 23 ++++ SlnMesnac.Model/dto/TagInfo.cs | 23 ++++ SlnMesnac.Mqtt/MqttClient.cs | 22 ++++ SlnMesnac.Plc/Factory/InovanceFactory.cs | 22 ++++ SlnMesnac.Plc/Factory/MelsecBinaryFactory.cs | 22 ++++ SlnMesnac.Plc/Factory/OmronNJFactory.cs | 22 ++++ SlnMesnac.Plc/Factory/SiemensFactory.cs | 22 ++++ SlnMesnac.Plc/PlcAbsractFactory.cs | 24 +++- SlnMesnac.Plc/PlcPool.cs | 26 +++- SlnMesnac.Plc/PlcSetup.cs | 29 ++++- SlnMesnac.Quartz/Job/Job2.cs | 22 ++++ SlnMesnac.Quartz/Job/MyJob.cs | 22 ++++ SlnMesnac.Quartz/QuartzSetUp.cs | 22 ++++ SlnMesnac.Repository/Repository.cs | 22 ++++ SlnMesnac.Repository/SqlsugarSetup.cs | 22 ++++ .../service/IBaseMaterialService.cs | 22 ++++ .../service/IBaseUserService.cs | 22 ++++ .../service/Impl/BaseMaterialServiceImpl.cs | 22 ++++ .../service/Impl/BaseUserServiceImpl.cs | 22 ++++ SlnMesnac.Rfid/Dto/MessagePack.cs | 24 +++- SlnMesnac.Rfid/Enum/RecvState.cs | 24 +++- SlnMesnac.Rfid/Factory/RflyFactory.cs | 22 ++++ SlnMesnac.Rfid/RfidAbsractFactory.cs | 22 ++++ SlnMesnac.Rfid/RfidPool.cs | 22 ++++ SlnMesnac.Rfid/RfidSetup.cs | 22 ++++ SlnMesnac.Serilog/SerilogExtensions.cs | 22 ++++ SlnMesnac.TouchSocket/TcpServer.cs | 22 ++++ SlnMesnac.TouchSocket/TouchSocketSetup.cs | 22 ++++ SlnMesnac.WPF/App.xaml.cs | 5 +- SlnMesnac.WPF/SlnMesnac.WPF.csproj | 1 + SlnMesnac.WPF/Startup.cs | 89 +------------ SlnMesnac.WPF/appsettings.json | 2 +- SlnMesnac.sln | 8 +- 42 files changed, 944 insertions(+), 111 deletions(-) create mode 100644 SlnMesnac.Ioc/DependencyConfigurator.cs create mode 100644 SlnMesnac.Ioc/SlnMesnac.Ioc.csproj diff --git a/SlnMesnac.Common/ExpressionExtensions.cs b/SlnMesnac.Common/ExpressionExtensions.cs index 0a0e879..a5348c0 100644 --- a/SlnMesnac.Common/ExpressionExtensions.cs +++ b/SlnMesnac.Common/ExpressionExtensions.cs @@ -4,6 +4,28 @@ using System.Linq.Expressions; using System.Linq; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Common +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Common { /// diff --git a/SlnMesnac.Common/StringChange.cs b/SlnMesnac.Common/StringChange.cs index 7a52411..6c4ff13 100644 --- a/SlnMesnac.Common/StringChange.cs +++ b/SlnMesnac.Common/StringChange.cs @@ -5,21 +5,32 @@ using System.IO; using System.Linq; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Common +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Common { public class StringChange { - //private static readonly Lazy lazy = new Lazy(() => new StringChange()); - //public static StringChange Instance - //{ - // get - // { - // return lazy.Value; - // } - //} - - //private StringChange() { } - /// /// 将字符串强制转换成int,转换失败则返回0 /// diff --git a/SlnMesnac.Config/AppConfig.cs b/SlnMesnac.Config/AppConfig.cs index fac4e8b..64f58ea 100644 --- a/SlnMesnac.Config/AppConfig.cs +++ b/SlnMesnac.Config/AppConfig.cs @@ -2,11 +2,34 @@ using System; using System.Collections.Generic; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Config +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Config { /// /// 系统配置 /// + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class AppConfig : IOptions { /// diff --git a/SlnMesnac.Config/PlcConfig.cs b/SlnMesnac.Config/PlcConfig.cs index c061dd4..6be7fb7 100644 --- a/SlnMesnac.Config/PlcConfig.cs +++ b/SlnMesnac.Config/PlcConfig.cs @@ -1,8 +1,31 @@ +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Config +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Config { /// /// PLC配置,通过AppConfig进行获取 /// + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class PlcConfig { /// diff --git a/SlnMesnac.Config/RfidConfig.cs b/SlnMesnac.Config/RfidConfig.cs index 1e1b98c..87622ea 100644 --- a/SlnMesnac.Config/RfidConfig.cs +++ b/SlnMesnac.Config/RfidConfig.cs @@ -1,4 +1,26 @@ -namespace SlnMesnac.Config +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Config +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Config { public class RfidConfig { @@ -10,7 +32,7 @@ /// /// 设备 IP /// - public string equipIp { get; set; } + public string? equipIp { get; set; } /// /// 设备 Port @@ -20,7 +42,7 @@ /// /// 设备 Key /// - public string equipKey { get; set; } + public string? equipKey { get; set; } /// /// 是否启用 diff --git a/SlnMesnac.Config/SqlConfig.cs b/SlnMesnac.Config/SqlConfig.cs index 7adeab7..cc3de31 100644 --- a/SlnMesnac.Config/SqlConfig.cs +++ b/SlnMesnac.Config/SqlConfig.cs @@ -1,8 +1,31 @@ +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Config +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Config { /// /// Sql连接配置 /// + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class SqlConfig { /// diff --git a/SlnMesnac.Ioc/DependencyConfigurator.cs b/SlnMesnac.Ioc/DependencyConfigurator.cs new file mode 100644 index 0000000..a95ae35 --- /dev/null +++ b/SlnMesnac.Ioc/DependencyConfigurator.cs @@ -0,0 +1,120 @@ +using Autofac; +using SlnMesnac.Repository; +using System.Reflection; +using TouchSocket.Sockets; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Ioc +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Ioc +{ + /// + /// Utility class for configuring dependency injection. + /// + public static class DependencyConfigurator + { + /// + /// Configures dependency injection for the application. + /// + /// The Autofac container builder. + public static void Configure(ContainerBuilder builder) + { + //注入Repository + builder.RegisterGeneric(typeof(Repository<>)).As(typeof(Repository<>)); + RegisterImplementations(builder, Assembly.LoadFrom("SlnMesnac.Repository.dll")); + + //注入Plc + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Plc.dll")); + + //注入Rfid + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Rfid.dll")); + + //注入通用类 + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Common.dll")); + + //注入MQTT + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Mqtt.dll")); + + //注入TouchSocket + builder.RegisterType(typeof(TcpService)); + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.TouchSocket.dll")); + + //注入业务类 + RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Business.dll")); + } + + + /// + /// 自动注入接口实现 + /// + /// + /// + private static void RegisterImplementations(ContainerBuilder builder, Assembly assembly) + { + //自动注入仓储层的接口实现类 + var types = assembly.GetTypes() + .Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType) + .ToList(); + + foreach (var type in types) + { + var interfaces = type.GetInterfaces(); + + foreach (var @interface in interfaces) + { + builder.RegisterType(type).As(@interface); + } + } + } + + /// + /// 自动注入自定义类、抽象类 + /// + /// + /// + private static void RegisterType(ContainerBuilder builder, Assembly assembly) + { + var types = assembly.GetTypes() + .Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType) + .ToList(); + + foreach (var type in types) + { + var interfaces = type.GetInterfaces(); + var baseType = type.BaseType; + + #region 只注入抽象类 Delete By wenjy 2024-03-27 + //if (baseType != null && baseType.IsAbstract && baseType == typeof(PlcAbsractFactory)) + //{ + // builder.RegisterType(type); + //} + #endregion + + + if (!typeof(Delegate).IsAssignableFrom(type)) //不注入委托事件 + { + builder.RegisterType(type).SingleInstance(); + } + } + } + } +} diff --git a/SlnMesnac.Ioc/SlnMesnac.Ioc.csproj b/SlnMesnac.Ioc/SlnMesnac.Ioc.csproj new file mode 100644 index 0000000..f9ed572 --- /dev/null +++ b/SlnMesnac.Ioc/SlnMesnac.Ioc.csproj @@ -0,0 +1,18 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + diff --git a/SlnMesnac.Model/domain/BaseMaterialInfo.cs b/SlnMesnac.Model/domain/BaseMaterialInfo.cs index 333aa8c..c62d5aa 100644 --- a/SlnMesnac.Model/domain/BaseMaterialInfo.cs +++ b/SlnMesnac.Model/domain/BaseMaterialInfo.cs @@ -5,10 +5,35 @@ using System.Runtime.Serialization; using System.Text; using System.Xml.Linq; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Model.domain +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Model.domain { + + [SugarTable("BasMaterial"), TenantAttribute("mes")] [DataContract(Name = "BasMaterial 物料信息")] + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class BaseMaterialInfo { /// diff --git a/SlnMesnac.Model/domain/BaseUser.cs b/SlnMesnac.Model/domain/BaseUser.cs index c6f3e28..04dd56f 100644 --- a/SlnMesnac.Model/domain/BaseUser.cs +++ b/SlnMesnac.Model/domain/BaseUser.cs @@ -6,6 +6,28 @@ using System.Security.Principal; using System.Text; using System.Xml.Linq; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Model.domain +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Model.domain { /// @@ -13,6 +35,7 @@ namespace SlnMesnac.Model.domain /// [SugarTable("BasUser"), TenantAttribute("mes")] [DataContract(Name = "BaseUser 人员基础资料")] + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class BaseUser { /// diff --git a/SlnMesnac.Model/dto/TagInfo.cs b/SlnMesnac.Model/dto/TagInfo.cs index dbe04de..d4f28b6 100644 --- a/SlnMesnac.Model/dto/TagInfo.cs +++ b/SlnMesnac.Model/dto/TagInfo.cs @@ -1,7 +1,30 @@ using System; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Model.dto +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Model.dto { + #pragma warning disable CS8618 // Non-nullable field 'Data' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. public class TagInfo { public byte[] PC = new byte[2]; diff --git a/SlnMesnac.Mqtt/MqttClient.cs b/SlnMesnac.Mqtt/MqttClient.cs index 92bd2d0..44baecf 100644 --- a/SlnMesnac.Mqtt/MqttClient.cs +++ b/SlnMesnac.Mqtt/MqttClient.cs @@ -7,6 +7,28 @@ using System.Security.Authentication; using MQTTnet; using Microsoft.Extensions.Logging; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Mqtt +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Mqtt { /// diff --git a/SlnMesnac.Plc/Factory/InovanceFactory.cs b/SlnMesnac.Plc/Factory/InovanceFactory.cs index 3884959..d9eebc1 100644 --- a/SlnMesnac.Plc/Factory/InovanceFactory.cs +++ b/SlnMesnac.Plc/Factory/InovanceFactory.cs @@ -3,6 +3,28 @@ using HslCommunication; using HslCommunication.Profinet.Inovance; using SlnMesnac.Common; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc.Factory +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc.Factory { public class InovanceFactory:PlcAbsractFactory diff --git a/SlnMesnac.Plc/Factory/MelsecBinaryFactory.cs b/SlnMesnac.Plc/Factory/MelsecBinaryFactory.cs index 94fccd9..28b9a8e 100644 --- a/SlnMesnac.Plc/Factory/MelsecBinaryFactory.cs +++ b/SlnMesnac.Plc/Factory/MelsecBinaryFactory.cs @@ -3,6 +3,28 @@ using HslCommunication; using HslCommunication.Profinet.Melsec; using SlnMesnac.Common; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc.Factory +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc.Factory { public class MelsecBinaryFactory:PlcAbsractFactory diff --git a/SlnMesnac.Plc/Factory/OmronNJFactory.cs b/SlnMesnac.Plc/Factory/OmronNJFactory.cs index 29b0b15..a3812e9 100644 --- a/SlnMesnac.Plc/Factory/OmronNJFactory.cs +++ b/SlnMesnac.Plc/Factory/OmronNJFactory.cs @@ -3,6 +3,28 @@ using HslCommunication; using HslCommunication.Profinet.Omron; using SlnMesnac.Common; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc.Factory +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc.Factory { public class OmronNJFactory:PlcAbsractFactory diff --git a/SlnMesnac.Plc/Factory/SiemensFactory.cs b/SlnMesnac.Plc/Factory/SiemensFactory.cs index f2b6805..2e0ed6d 100644 --- a/SlnMesnac.Plc/Factory/SiemensFactory.cs +++ b/SlnMesnac.Plc/Factory/SiemensFactory.cs @@ -3,6 +3,28 @@ using HslCommunication; using HslCommunication.Profinet.Siemens; using SlnMesnac.Common; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc.Factory +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc.Factory { public class SiemensFactory:PlcAbsractFactory diff --git a/SlnMesnac.Plc/PlcAbsractFactory.cs b/SlnMesnac.Plc/PlcAbsractFactory.cs index 2771d75..d309ec6 100644 --- a/SlnMesnac.Plc/PlcAbsractFactory.cs +++ b/SlnMesnac.Plc/PlcAbsractFactory.cs @@ -1,4 +1,26 @@ -namespace SlnMesnac.Plc +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Plc { public abstract class PlcAbsractFactory { diff --git a/SlnMesnac.Plc/PlcPool.cs b/SlnMesnac.Plc/PlcPool.cs index 6a89ff8..cf332c7 100644 --- a/SlnMesnac.Plc/PlcPool.cs +++ b/SlnMesnac.Plc/PlcPool.cs @@ -5,6 +5,28 @@ using System.Collections.Generic; using System.Threading.Tasks; using SlnMesnac.Plc.Factory; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc { /// @@ -15,7 +37,7 @@ namespace SlnMesnac.Plc private ILogger _logger; private readonly AppConfig _appConfig; - private Dictionary keyValuePairs = new Dictionary(); + private Dictionary keyValuePairs ; private readonly InovanceFactory _inovance; private readonly MelsecBinaryFactory _melsecBinary; @@ -30,6 +52,8 @@ namespace SlnMesnac.Plc _omronNj = omronNj; _siemens = siemens; _appConfig = appConfig; + + keyValuePairs = new Dictionary(); } public void Init() { diff --git a/SlnMesnac.Plc/PlcSetup.cs b/SlnMesnac.Plc/PlcSetup.cs index 0fdfa54..95256f5 100644 --- a/SlnMesnac.Plc/PlcSetup.cs +++ b/SlnMesnac.Plc/PlcSetup.cs @@ -4,14 +4,39 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using SlnMesnac.Plc.Factory; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Plc +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Plc { public static class PlcSetup { public static IApplicationBuilder UsePlcExtensions(this IApplicationBuilder app) { - var plcPool = app.ApplicationServices.GetService(); - plcPool.Init(); + PlcPool? plcPool = app.ApplicationServices.GetService(); + if(plcPool != null) + { + plcPool.Init(); + } return app; } diff --git a/SlnMesnac.Quartz/Job/Job2.cs b/SlnMesnac.Quartz/Job/Job2.cs index 47791ce..cba1528 100644 --- a/SlnMesnac.Quartz/Job/Job2.cs +++ b/SlnMesnac.Quartz/Job/Job2.cs @@ -5,6 +5,28 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Quartz.Job +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Quartz.Job { internal class Job2 : IJob diff --git a/SlnMesnac.Quartz/Job/MyJob.cs b/SlnMesnac.Quartz/Job/MyJob.cs index 67fe4cb..735f08c 100644 --- a/SlnMesnac.Quartz/Job/MyJob.cs +++ b/SlnMesnac.Quartz/Job/MyJob.cs @@ -5,6 +5,28 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Quartz.Job +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Quartz.Job { public class MyJob : IJob diff --git a/SlnMesnac.Quartz/QuartzSetUp.cs b/SlnMesnac.Quartz/QuartzSetUp.cs index 94bc14d..1a6bb23 100644 --- a/SlnMesnac.Quartz/QuartzSetUp.cs +++ b/SlnMesnac.Quartz/QuartzSetUp.cs @@ -3,6 +3,28 @@ using Quartz; using SlnMesnac.Quartz.Job; using System; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Quartz +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Quartz { public static class QuartzSetUp diff --git a/SlnMesnac.Repository/Repository.cs b/SlnMesnac.Repository/Repository.cs index 31856b6..7216a1c 100644 --- a/SlnMesnac.Repository/Repository.cs +++ b/SlnMesnac.Repository/Repository.cs @@ -1,6 +1,28 @@ using SqlSugar; using System; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository { public class Repository : SimpleClient where T : class, new() diff --git a/SlnMesnac.Repository/SqlsugarSetup.cs b/SlnMesnac.Repository/SqlsugarSetup.cs index 779899f..3f3557b 100644 --- a/SlnMesnac.Repository/SqlsugarSetup.cs +++ b/SlnMesnac.Repository/SqlsugarSetup.cs @@ -7,6 +7,28 @@ using System; using System.Collections.Generic; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository { public static class SqlsugarSetup diff --git a/SlnMesnac.Repository/service/IBaseMaterialService.cs b/SlnMesnac.Repository/service/IBaseMaterialService.cs index 638d67e..ac4f62f 100644 --- a/SlnMesnac.Repository/service/IBaseMaterialService.cs +++ b/SlnMesnac.Repository/service/IBaseMaterialService.cs @@ -3,6 +3,28 @@ using System; using System.Collections.Generic; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository.service +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service { public interface IBaseMaterialService diff --git a/SlnMesnac.Repository/service/IBaseUserService.cs b/SlnMesnac.Repository/service/IBaseUserService.cs index 35bbea0..bac80e5 100644 --- a/SlnMesnac.Repository/service/IBaseUserService.cs +++ b/SlnMesnac.Repository/service/IBaseUserService.cs @@ -3,6 +3,28 @@ using System; using System.Collections.Generic; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository.service +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service { public interface IBaseUserService diff --git a/SlnMesnac.Repository/service/Impl/BaseMaterialServiceImpl.cs b/SlnMesnac.Repository/service/Impl/BaseMaterialServiceImpl.cs index 8985d53..7487cd3 100644 --- a/SlnMesnac.Repository/service/Impl/BaseMaterialServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/BaseMaterialServiceImpl.cs @@ -6,6 +6,28 @@ using System.Collections.Generic; using System.Linq.Expressions; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository.service.Impl +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service.Impl { public class BaseMaterialServiceImpl : IBaseMaterialService diff --git a/SlnMesnac.Repository/service/Impl/BaseUserServiceImpl.cs b/SlnMesnac.Repository/service/Impl/BaseUserServiceImpl.cs index 942774b..d2d99ef 100644 --- a/SlnMesnac.Repository/service/Impl/BaseUserServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/BaseUserServiceImpl.cs @@ -4,6 +4,28 @@ using System; using System.Collections.Generic; using System.Text; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Repository.service.Impl +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service.Impl { public class BaseUserServiceImpl : IBaseUserService diff --git a/SlnMesnac.Rfid/Dto/MessagePack.cs b/SlnMesnac.Rfid/Dto/MessagePack.cs index 8ef347a..284d42f 100644 --- a/SlnMesnac.Rfid/Dto/MessagePack.cs +++ b/SlnMesnac.Rfid/Dto/MessagePack.cs @@ -1,4 +1,26 @@ -namespace SlnMesnac.Rfid.Dto +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid.Dto +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Rfid.Dto { public class MessagePack { diff --git a/SlnMesnac.Rfid/Enum/RecvState.cs b/SlnMesnac.Rfid/Enum/RecvState.cs index 68c253c..f9f1708 100644 --- a/SlnMesnac.Rfid/Enum/RecvState.cs +++ b/SlnMesnac.Rfid/Enum/RecvState.cs @@ -1,4 +1,26 @@ -namespace SlnMesnac.Rfid.Enum +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid.Enum +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Rfid.Enum { public enum RecvState { diff --git a/SlnMesnac.Rfid/Factory/RflyFactory.cs b/SlnMesnac.Rfid/Factory/RflyFactory.cs index b193e00..27f015a 100644 --- a/SlnMesnac.Rfid/Factory/RflyFactory.cs +++ b/SlnMesnac.Rfid/Factory/RflyFactory.cs @@ -12,6 +12,28 @@ using SlnMesnac.Rfid.Enum; using TouchSocket.Core; using TouchSocket.Sockets; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid.Factory +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Rfid.Factory { public class RflyFactory:RfidAbsractFactory diff --git a/SlnMesnac.Rfid/RfidAbsractFactory.cs b/SlnMesnac.Rfid/RfidAbsractFactory.cs index 287a922..bc4e1e9 100644 --- a/SlnMesnac.Rfid/RfidAbsractFactory.cs +++ b/SlnMesnac.Rfid/RfidAbsractFactory.cs @@ -2,6 +2,28 @@ using System.Collections.Generic; using SlnMesnac.Model.dto; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Rfid { /// diff --git a/SlnMesnac.Rfid/RfidPool.cs b/SlnMesnac.Rfid/RfidPool.cs index c0ff660..b2cdabd 100644 --- a/SlnMesnac.Rfid/RfidPool.cs +++ b/SlnMesnac.Rfid/RfidPool.cs @@ -4,6 +4,28 @@ using Microsoft.Extensions.Logging; using SlnMesnac.Config; using SlnMesnac.Rfid.Factory; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Rfid { public class RfidPool diff --git a/SlnMesnac.Rfid/RfidSetup.cs b/SlnMesnac.Rfid/RfidSetup.cs index 746f4fa..5fe4e99 100644 --- a/SlnMesnac.Rfid/RfidSetup.cs +++ b/SlnMesnac.Rfid/RfidSetup.cs @@ -2,6 +2,28 @@ using Microsoft.Extensions.DependencyInjection; using SlnMesnac.Rfid.Factory; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Rfid +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Rfid { public static class RfidSetup diff --git a/SlnMesnac.Serilog/SerilogExtensions.cs b/SlnMesnac.Serilog/SerilogExtensions.cs index b2f1846..d65e0b6 100644 --- a/SlnMesnac.Serilog/SerilogExtensions.cs +++ b/SlnMesnac.Serilog/SerilogExtensions.cs @@ -6,6 +6,28 @@ using SlnMesnac.Config; using System; using System.IO; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.Serilog +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.Serilog { /// diff --git a/SlnMesnac.TouchSocket/TcpServer.cs b/SlnMesnac.TouchSocket/TcpServer.cs index fc3ecb7..70f8afc 100644 --- a/SlnMesnac.TouchSocket/TcpServer.cs +++ b/SlnMesnac.TouchSocket/TcpServer.cs @@ -5,6 +5,28 @@ using System.Text; using TouchSocket.Core; using TouchSocket.Sockets; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.TouchSocket +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.TouchSocket { public class TcpServer diff --git a/SlnMesnac.TouchSocket/TouchSocketSetup.cs b/SlnMesnac.TouchSocket/TouchSocketSetup.cs index 293f3d3..31ca7db 100644 --- a/SlnMesnac.TouchSocket/TouchSocketSetup.cs +++ b/SlnMesnac.TouchSocket/TouchSocketSetup.cs @@ -5,6 +5,28 @@ using System.Text; using Microsoft.AspNetCore.Builder; using TouchSocket.Sockets; +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:LAPTOP-E0N2L34V +* 命名空间:SlnMesnac.TouchSocket +* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 +* +* 创建者:WenJY +* 电子邮箱:wenjy@mesnac.com +* 创建时间:2024-03-27 21:58:35 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> namespace SlnMesnac.TouchSocket { /// diff --git a/SlnMesnac.WPF/App.xaml.cs b/SlnMesnac.WPF/App.xaml.cs index d5e67e1..bd1a4f1 100644 --- a/SlnMesnac.WPF/App.xaml.cs +++ b/SlnMesnac.WPF/App.xaml.cs @@ -22,6 +22,7 @@ using SlnMesnac.Rfid; using SlnMesnac.TouchSocket; using SlnMesnac.Mqtt; using SlnMesnac.Business; +using SlnMesnac.Plc; namespace SlnMesnac.WPF { @@ -30,9 +31,9 @@ namespace SlnMesnac.WPF /// public partial class App : Application { - private System.Threading.Mutex mutex; + private System.Threading.Mutex? mutex = null; private LierdaCracker cracker = new LierdaCracker(); - public static IServiceProvider ServiceProvider; + public static IServiceProvider? ServiceProvider = null; // Startup事件 protected override async void OnStartup(StartupEventArgs e) diff --git a/SlnMesnac.WPF/SlnMesnac.WPF.csproj b/SlnMesnac.WPF/SlnMesnac.WPF.csproj index bd6e928..b241d67 100644 --- a/SlnMesnac.WPF/SlnMesnac.WPF.csproj +++ b/SlnMesnac.WPF/SlnMesnac.WPF.csproj @@ -22,6 +22,7 @@ + diff --git a/SlnMesnac.WPF/Startup.cs b/SlnMesnac.WPF/Startup.cs index 5a8c98a..047ebe8 100644 --- a/SlnMesnac.WPF/Startup.cs +++ b/SlnMesnac.WPF/Startup.cs @@ -3,23 +3,14 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using SlnMesnac.Config; -using SlnMesnac.Common; -using SlnMesnac.Quartz; using SlnMesnac.Repository; using SlnMesnac.Plc; using SlnMesnac.Serilog; using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; using Autofac; using Microsoft.Extensions.Configuration; -using SlnMesnac.Mqtt; using SlnMesnac.Rfid; -using SlnMesnac.TouchSocket; -using TouchSocket.Sockets; +using SlnMesnac.Ioc; namespace SlnMesnac.WPF { @@ -55,84 +46,8 @@ namespace SlnMesnac.WPF /// public void ConfigureContainer(ContainerBuilder builder) { - //注入Repository - builder.RegisterGeneric(typeof(Repository<>)).As(typeof(Repository<>)); - RegisterImplementations(builder, Assembly.LoadFrom("SlnMesnac.Repository.dll")); - - //注入Plc - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Plc.dll")); - - //注入Rfid - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Rfid.dll")); - - //注入通用类 - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Common.dll")); - - //注入MQTT - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Mqtt.dll")); - - //注入TouchSocket - builder.RegisterType(typeof(TcpService)); - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.TouchSocket.dll")); - - //注入业务类 - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Business.dll")); + DependencyConfigurator.Configure(builder); } - - /// - /// 自动注入接口实现 - /// - /// - /// - private static void RegisterImplementations(ContainerBuilder builder, Assembly assembly) - { - //自动注入仓储层的接口实现类 - var types = assembly.GetTypes() - .Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType) - .ToList(); - - foreach (var type in types) - { - var interfaces = type.GetInterfaces(); - - foreach (var @interface in interfaces) - { - builder.RegisterType(type).As(@interface); - } - } - } - - /// - /// 自动注入自定义类、抽象类 - /// - /// - /// - private static void RegisterType(ContainerBuilder builder, Assembly assembly) - { - var types = assembly.GetTypes() - .Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType) - .ToList(); - - foreach (var type in types) - { - var interfaces = type.GetInterfaces(); - var baseType = type.BaseType; - - #region 只注入抽象类 Delete By wenjy 2024-03-27 - //if (baseType != null && baseType.IsAbstract && baseType == typeof(PlcAbsractFactory)) - //{ - // builder.RegisterType(type); - //} - #endregion - - - if (!typeof(Delegate).IsAssignableFrom(type)) //不注入委托事件 - { - builder.RegisterType(type); - } - } - } - /// /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. diff --git a/SlnMesnac.WPF/appsettings.json b/SlnMesnac.WPF/appsettings.json index a1f2ad9..02d4e43 100644 --- a/SlnMesnac.WPF/appsettings.json +++ b/SlnMesnac.WPF/appsettings.json @@ -36,7 +36,7 @@ "plcIp": "127.0.0.1", "plcPort": 6000, "plcKey": "cwss", - "isFlage": false + "isFlage": true } ], "RfidConfig": [ diff --git a/SlnMesnac.sln b/SlnMesnac.sln index 1a63097..9013297 100644 --- a/SlnMesnac.sln +++ b/SlnMesnac.sln @@ -27,7 +27,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.TouchSocket", "Sl EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Mqtt", "SlnMesnac.Mqtt\SlnMesnac.Mqtt.csproj", "{7D908FF5-88AE-42AB-A193-F2896EF44AB1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.Rfid", "SlnMesnac.Rfid\SlnMesnac.Rfid.csproj", "{40D23A4B-8372-4145-936C-08AE63C6D1F9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Rfid", "SlnMesnac.Rfid\SlnMesnac.Rfid.csproj", "{40D23A4B-8372-4145-936C-08AE63C6D1F9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.Ioc", "SlnMesnac.Ioc\SlnMesnac.Ioc.csproj", "{30A3F86B-774E-4153-9A00-FD3173C710EB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -87,6 +89,10 @@ Global {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Debug|Any CPU.Build.0 = Debug|Any CPU {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Release|Any CPU.ActiveCfg = Release|Any CPU {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Release|Any CPU.Build.0 = Release|Any CPU + {30A3F86B-774E-4153-9A00-FD3173C710EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30A3F86B-774E-4153-9A00-FD3173C710EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30A3F86B-774E-4153-9A00-FD3173C710EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30A3F86B-774E-4153-9A00-FD3173C710EB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 57e0d1716429bd3a48a27e267c6afd8b5c5abe49 Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 27 Mar 2024 23:02:42 +0800 Subject: [PATCH 4/4] =?UTF-8?q?change=20-=20=E6=B8=85=E6=A5=9AApp=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=AD=E6=9C=AA=E4=BD=BF=E7=94=A8=E7=9A=84using?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.WPF/App.xaml.cs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/SlnMesnac.WPF/App.xaml.cs b/SlnMesnac.WPF/App.xaml.cs index bd1a4f1..0c0ad04 100644 --- a/SlnMesnac.WPF/App.xaml.cs +++ b/SlnMesnac.WPF/App.xaml.cs @@ -5,24 +5,8 @@ using Microsoft.Extensions.Hosting; using Serilog; using SlnMesnac.Config; using System; -using System.Collections.Generic; -using System.Configuration; -using System.Data; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; using System.Windows; using Autofac.Extensions.DependencyInjection; -using SlnMesnac.Common; -using SlnMesnac.Repository.service; -using SlnMesnac.Repository.service.Impl; -using SlnMesnac.Plc.Factory; -using SlnMesnac.Rfid.Factory; -using SlnMesnac.Rfid; -using SlnMesnac.TouchSocket; -using SlnMesnac.Mqtt; -using SlnMesnac.Business; -using SlnMesnac.Plc; namespace SlnMesnac.WPF {