随笔分类 -  C#

摘要:依赖注入 注入方法 方法说明 AddTransient 每次service请求都是获得不同的实例,暂时性模式 AddScoped 对于同一个请求返回同一个实例,不同的请求返回不同的实例,作用域模式 AddSingleton 每次都是获得同一个实例, 单一实例模式 MVC控制器的DI 构造函数输入 创 阅读全文
posted @ 2023-09-27 15:58 摧残一生 阅读(30) 评论(0) 推荐(0) 编辑
摘要:中间件 中间件类似于装配器,请求处理管道由一系列的中间件组件组成,每个组件在HttpContext上执行操作,按顺序调用管道中的下一个中间件或结束,特定的中间件在通道中装配以后可以获取数据并进行一系列的操作。 该图表示request到response的相关流程,每个节点的输入输出。 通过调用Use{ 阅读全文
posted @ 2023-09-27 15:54 摧残一生 阅读(45) 评论(0) 推荐(0) 编辑
摘要:本文的由来 随着.Net的不断升级,Asp.net也开始逐渐走上了springboot的那套约定大于配置的路子,内置了很多mvc的相关接口类,而且还支持自定义接口的实现,这时对我而言弊端就出现了,相关的接口太多了,只有不断的在c#之路走下去的人会记得大部分的接口,而对于我,有时候搞搞java,有时候 阅读全文
posted @ 2023-09-27 15:52 摧残一生 阅读(114) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-插件模块-集成(下) ## 简介 通过以上的几篇文章说明了xml的相关配置信息和配置项,我们可以对插件模块的剩余部分进行说明了。当网关服务加载了本地的硬件插件后就产生了硬件类型的实例,通过该实例就可以去调用下位机了。而去调用哪个下位机,我们就需要通过xml的配置信息去指定 阅读全文
posted @ 2023-09-02 18:05 摧残一生 阅读(26) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-网关配置项目 ## 简介 在本章开始前,我们需要做一下说明,为例更好的服务于网关项目,更好的让前面章节中的xml服务于网关,需要创建一个网关配置页面来新增硬件信息,并进行保存,保存后的xml才能被网关识别,进而让网关进行后续的任务(例如:硬件管理平台-硬件网关-插件模块- 阅读全文
posted @ 2023-08-19 17:53 摧残一生 阅读(60) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-XML操作 ## 简介 本周主要接上一章,将与硬件交互的部分进行说明。 ## 创建交互类 在上一篇我们将相关的辅助类进行了编写,本文主要介绍的是xml与硬件的交互有哪些,他们的作用是什么及相关代码。 按照我们约定的**HardwareInfo.xml**可知,我们需要对x 阅读全文
posted @ 2023-08-16 08:39 摧残一生 阅读(26) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-XML相关基础类 ## 简介 本章是**硬件管理平台-硬件网关-插件模块-集成(上)**的延申部分,因集成模块时还需要有配置文件的相关操作,因此需要将xml部分进行说明,其中需要说明的部分有xml的操作类、xml与硬件的交互类以及配置文件中对于xml的获取及操作。主要工作 阅读全文
posted @ 2023-08-15 15:57 摧残一生 阅读(40) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-插件模块-集成(上) # 本章内容 本章主要是将插件项目(**HardwareGatewayPlugin**)集成到**HardwareGatewayWebApi**项目中。 ## 操作 ### 创建单例模式类 由于**HardwareGatewayWebApi**项目是 阅读全文
posted @ 2023-08-12 17:34 摧残一生 阅读(26) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-插件模块-配置文件 上一篇仅仅将反射的基础模块进行了添加,不过还有很重要的一个配置文件还未进行添加,本文将讲述ini配置文件的添加方式 ## 何谓配置文件 例如在**HardwareGatewayService**项目中读取App.config文件或log4net读取co 阅读全文
posted @ 2023-08-12 16:29 摧残一生 阅读(20) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件网关-插件模块 ## 前言 硬件产品库最终导出了硬件及其相关的依赖项,接下来就需要将依赖项放入到网关项目中,放入后需要做两个动作,第一个是通过**硬件配置软件**将压缩包解压并放入指定位置,然后进行该硬件的具体操作,另一个是**硬件网关**服务启动后,将特定目录下的硬件添加到网 阅读全文
posted @ 2023-08-12 15:54 摧残一生 阅读(33) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件产品库-日志模块 ## log4net 本项目使用的是log4net,实际上没有什么原因,也没有怎么进行选型,因为他比较符合log4j,因此选择了log4net,的确有些草率。 > 随着log4j爆出了大漏洞,只能希望log4net是没有的。 ## 使用范围 使用log4net 阅读全文
posted @ 2023-08-05 17:29 摧残一生 阅读(31) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件产品库-导出zip ## 前言 下一步工作主要围绕硬件项目的来进行,通过界面来展示硬件内容并可以进行勾选,勾选后导出zip压缩包来完成。 本文不会像之前的文章一样通篇叙述的是一个功能或者说一个模块,而是由多个功能点来完成是,虽然题目是导出zip,不过本文会掺杂着一些其他的功能说 阅读全文
posted @ 2023-08-05 15:14 摧残一生 阅读(27) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-硬件产品库-硬件项目 本篇主要描述的是如何创建一个硬件项目,并将硬件信息进行展示。 > 讲了这么多至少应该能出个效果吧 在产品库文件夹中创建一个**硬件集合**文件夹,该文件夹存放所有硬件项目,在创建硬件项目前我们需要创建某类硬件项目的硬件接口。 我们在此以门禁和空调为例。门禁的功 阅读全文
posted @ 2023-08-05 09:50 摧残一生 阅读(383) 评论(0) 推荐(0) 编辑
摘要:## **HardwareAbstract** 在编写**LoadLibrary**前,我们需要完善**HardwareAbstract**类,否则TreeView显示什么?后续的内容应该如何操作?都将是一个坑。 由于本项目已完成,所以就不再一点一点的回顾**HardwareAbstract**类中 阅读全文
posted @ 2023-08-03 17:30 摧残一生 阅读(52) 评论(0) 推荐(0) 编辑
摘要:## 硬件产品库-反射模块 ### 公共项目改进 在公共项目中对当前目录进行分组,主要按照使用场景进行划分 ![](https://img2023.cnblogs.com/blog/594934/202308/594934-20230801183318182-91292470.png) 按照上一章所 阅读全文
posted @ 2023-08-01 18:35 摧残一生 阅读(306) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台-搭建 ## 简述 之前描述了硬件网关的公共部分的搭建方式,本次回归到硬件管理平台,进行下一步的开发工作。 在开始之前,想先描述下文章后续的思路,该平台涉及了多个项目,来回跳跃式的叙述估计到最后谁也无法看懂了,如果不跳跃,当作伏笔去写,最后伏笔就变成了坑,怕填不完。因此在这里先将大体 阅读全文
posted @ 2023-08-01 16:22 摧残一生 阅读(214) 评论(0) 推荐(0) 编辑
摘要:## 项目变更 之前使用的是Nancy库进行项目搭建的,使用的Nuget版本及其他引用如下 ```xml ``` 昨天在搭建时感觉太多与臃肿,原因如下: 1. 由于依托的为windows服务,且有独立配置程序,因此没有设计页面。 2. 因之前版本多余久远,Nancy.Viewengines.Razo 阅读全文
posted @ 2023-07-30 21:24 摧残一生 阅读(341) 评论(0) 推荐(0) 编辑
摘要:## 前言 本章节主要是搭建``HardwareGatewayService``和``HardwareGatewayWebApi``项目,当在windows系统中,系统服务和web平台的集成能用在大多数项目上,作为他们的基础搭建。可能部分人对于硬件网关兴趣不大,可是对于基础项目,直接可使用的项目应该 阅读全文
posted @ 2023-07-30 01:35 摧残一生 阅读(72) 评论(0) 推荐(0) 编辑
摘要:# 硬件管理平台 - 引言(一) ## 它是什么 ### 需求 1. 平台需要集成很多协议不同或者调用方式不同的硬件设备,平台作为上位机与下位机的中间网关进行通信,原则上硬件管理平台不应该有逻辑只遵循数据数据交互即可。 2. 需作为产品/系统发布并部署,现场只需要简单调试就可使用,已集成的硬件设备无 阅读全文
posted @ 2023-07-29 23:49 摧残一生 阅读(106) 评论(0) 推荐(0) 编辑
摘要:## 后台服务 在ABP Framework中,后台分为作业和工作者,他们的不同点为: - 作业 - 持久性的任务,可放在队列中执行。 - 失败后会继续重试 - 工作者 - 在后台运行的独立线程 - 定期运行 ### 后台作业 依赖包:Volo.Abp.BackgroundJobs.Abstract 阅读全文
posted @ 2023-07-20 13:55 摧残一生 阅读(213) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示