- 博客(823)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Modbus 之16进制
总的来说,0x01 和 0x1 是相同的十六进制数值,只是在表示形式上稍有不同。在十六进制表示中,前导零指的是位于十六进制数值的最高位数字前面的零。这种零的存在主要是为了表示数值的位数,并不会改变数值本身。在十六进制表示中,0x01 和 0x1 都代表相同的数值,即十进制的 1。总的来说,前导零在十六进制数中是一种常见表示方式,用于指示数值的位数,但不会改变数值本身。即使缺少前导零,该数值的大小仍然是十进制的 1,与 0x01 表示的数值相同。其中的前导零(即0)用来表示数值的位数,确保数值有固定的位数。
2024-07-26 16:41:40
90
原创 COM、串口 《1》
(6)接收到规定的数据位个数和校验位之后,通信接口电路希望收到停止位(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志;举例来说,假设传输的数据位为01001100,如果是奇校验,则奇校验位为0(要确保总共有奇数个1),如果是偶校验,则偶校验位为1(要确保总共有偶数个1)。,不会对数据进行实质的判断,这样做的好处是接收设备能够知道一个位的状态,有可能判断是否有噪声干扰了通信以及传输的数据是否同步。(1)开始通信,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对接收。
2024-07-26 14:36:41
481
原创 MQTT协议
MQTT【 Message Queuing Telemetry Transport】消息队列遥测传输是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。且是开源的。端口 1883MQTT(位于应用层)是专门针对物联网开发的轻量级传输协议,是基于TCP/IP(传输层)协议的封装。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。M2M、LOT等场景。
2024-07-25 14:59:21
650
原创 NET 语言识别,语音控制操作、语音播报
》System.Speech.Recognition 语音识别。》》异步播报,就是不阻塞其它操作。》》 异步播报 暂停、继续。
2024-07-19 17:20:38
862
原创 C# 之工控机数据类型 高低位(大小端)、BitConverter、IsLittleEndian、字节数组转换(高低位)
BitConverter.IsLittleEndian 本人电脑显示 True, 则 表示 数据存储是。单精度、32位、符合IEEE 754标准的浮点数。双精度、64位、符合IEEE 754标准的浮点数。》》False 高端低端 存储数据。浮点数不能用来表示精确的值,如货币 要用。16位、有符号的以二进制补码表示的整数。32位、有符号的以二进制补码表示的整数。64位、有符号的以二进制补码表示的整数。8位、有符号的以二进制补码表示的整数。boolean数据类型表示一位的信息。
2024-07-18 16:51:56
780
原创 C# 位移运算符 <<、>>, 以及 operator 关键字 重载运算符
前两种形式声明了用户定义的重载内置运算符的运算符。conv-type-in和conv-type-out中正好有一个必须是封闭类型(即,转换运算符只能从它的封闭类型转换为其他某个类型,或从其他某个类型转换为它的封闭类型)。首先通过指定的运算表达式调用对应的运算符函数,然后再将运算对象转化为运算符函数的实参,接着根据实参的类型来确定需要调用的函数的重载,这个过程是由编译器完成。C# 不允许重载=运算符,但如果重载例如+运算符,编译器会自动使用+运算符的重载来执行+=运算符的操作。左移三位相当于乘8。
2024-07-18 13:46:23
641
原创 C# 各版本语法新功能汇总
可以在out后面直接声明变量,例如前TryParse需要先定义再使用的两行的代码,现在一行即可: int.TryParse(s, out int num),从而简化语法。在前面的示例中,如果 Person 对象是 null,则将变量 first 赋值为 null。你编写的许多成员是可以作为单个表达式的单个语句。》》格式:expr is type varname, varname 是类型匹配后,赋值的变量名称。Nameof是一个运算符,用于获取代码元素(如变量、类和方法等)的名称(是的,字符串)。
2024-07-17 17:16:37
1090
原创 IOC、DI<5> Unity、AOP、延迟获取对象、检索容器中注册信息
这样既可完成对象注册的同时对构造函数参数进行注入,此时还有另外一个需求,就是虽然在注册的时候已经对构造函数参数进行了初始化。》》如果初始化是三个参数的构造函数, Resolve解析,是2个参数,只会替换对应的两个参数。
2024-07-17 10:12:22
409
原创 SSE、Webworker 、webSocket、Http、Socket 服务器推送技术
相比传统的HTTP轮询或长轮询方式,WebSocket可以减少通信的延迟和带宽消耗,提升了网络通信的效率。它允许在客户端和服务器之间建立一次连接,并且可以在连接建立后保持长时间活跃,双方可以随时发送数据。这种持久连接的特性使得WebSocket非常适合实时通信应用场景,从而推动了Web应用程序的发展。HTTP 协议是一种无状态的、无连接(短暂连接,客户端发送请求,服务器响应后即断开连接)的、单向的应用层协议。客户端发送请求,服务器响应后即断开连接,HTTP 协议无法实现服务器主动向客户端发起消息,
2024-07-15 15:41:22
526
原创 WebSocket、服务器推送技术
心跳机制是每隔一段时间会向服务器发送一个数据包,告诉服务器自己还活着,同时客户端会确认服务器端是否还活着,如果还活着的话,就会回传一个数据包给客户端来确定服务器端也还活着,否则的话,有可能是网络断开连接了。在 WebSocket 中,客户端和服务器之间可以互相发送消息,客户端可以使用 JavaScript 中的 WebSocket API 发送消息到服务器,也可以接收服务器发送的消息。WebSocket的实时性更好,延迟更低,并且在服务器和客户端之间提供双向的即时通信能力,适用于需要实时数据传输的场景。
2024-07-15 14:43:11
1140
原创 MVC之 ActionResult系列 (JsonResult、FileResult、ViewRsult、EmptyResult等)扩展Razor引擎
ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的 是非ActionResult类型(如返回字符串),控制器将会将结果转换为一个ContentResult类型。默认的ControllerActionInvoker 调用ActionResult.ExecuteResult方法生成应答结果。表示一个视图结果,它根据视图模板产生应答内容。对应得Controller方法为View。
2024-07-13 14:30:19
292
原创 MVC HttpHandler
上面注册是把网站中请求jpg格式文件的请求,映射给命名空间为httphander_test类名为CustomHandler的程序集ProcessHandler_test来处理请求。2.如果想通过HttpHandler处理请求,必须在映射的处理程序中实现接口IHttpHandler。》》1.首先注册HttpHandler:在Web.config中注册,跟httpmodule类似。》》web.config中配置。3.映射到的程序代码如下。
2024-07-12 17:28:05
126
原创 MVC之 IHttpModule管道模型《二》
》》注意:在http请求的处理过程中,只能调用一个HttpHandler,但可以调用多个HttpModule。
2024-07-12 15:31:45
472
1
原创 HTTP传输数据压缩,浏览器压缩,IIS压缩
也可以使用其他的编码把内容搅乱或加密,以此来防止未授权的第三方看到文档的内容,所以HTTP压缩其实就是HTTP内容编码的一种,大家不要混淆了两种概念。第三步:Web服务器通过Gzip,来对Response进行编码, 编码后header中有Content-Type和Content-Length(压缩后的大小), 并且增加了Content-Encoding:gzip. 然后把Response发送给浏览器.HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件。
2024-07-12 09:16:46
132
原创 MVC之 Controller 》》 ModelState ValidationMessageFor ValidationSummary
ModelState是Controller的一个属性,可以被继承自System.Web.Mvc.Controller的那些类访问。它表示在一次POST提交中被提交到服务器的 键值对集合,每个记录到ModelState内的值都有一个错误信息集。尽管ModelState的名字中含有“Model”,但它只有名称、值和错误集,与任何Model类都没有关系。》》 ModelState有两个作用:1:存储提交到服务器的值,2:存储与之相关联的验证错误集。同时要在csHTML 中 @Html.
2024-07-10 17:23:51
367
1
原创 MVC 生成验证码
在一个html页面上,生成一个验证码,在把这个页面嵌入到需要验证码的页面中。//获取该canvas的2D绘图环境。//颜色若太深可能导致看不清。》》》定义一个生成验证码的类。/**生成一个随机数**//**生成一个随机色**//**绘制验证码图片**///修改坐标原点和旋转角度。//恢复坐标原点和旋转角度。/**绘制背景色**//**绘制干扰线**//**绘制干扰点**//**绘制文字**///随机生成字体颜色。//随机生成字体大小。
2024-07-10 16:31:18
1124
原创 Server.Execute()、Server.Transfer()和Response.Redirect()的区别
还有一点是,Redirect可以传一个外部的地址,重定向外部的网站,然而Transfer只能限定说,传入的路径资源必须是服务器内部的。但是,Server.Transfer()方法执行,当前页面的请求输出就中断了,转移给另一个页面了,下部分显示的是另一个页面的内容。Server.Execute()和Server.Transfer()方法执行输出后,浏览器的地址栏不会改变,还是当前请求的地址。Server.Execute()其实是执行一个页面,执行输出在当前页面中,当前页面下部分还要输出的。
2024-07-10 09:02:56
295
原创 .NET MVC强类型参数排除和包含属性 Bind 、Exclude
Bind(Exclude=“属性”) / Bind(Exclude=“属性1,属性2,属性n”)如果相包含多个属性可以用逗号分割符分开:Bind(Include=“属性1,属性2,属性n”)实际应用中添加一个对象对于ID自增的实体来说可以排除ID,用户登录 可以使用只包含用户名和密码。Bind(Include=“属性”);同理,如果想排除一个或多个属性可以使用。
2024-07-09 17:29:15
180
原创 IOC、DI<4> Unity、AOP、MVCAOP、UnityAOP 区别
IOC():控制反转,把程序上层对下层的依赖,转移到第三方的容器来装配是程序设计的目标,实现方式包含了依赖注入和依赖查找(.net里面只有依赖注入)DI:依赖注入,是IOC的实习方式。
2024-07-08 17:07:57
971
原创 FTP、http 、tcp
FTP: File Transfer Protocol 文件传输协议, 基于TCP协议, 基于UDP协议的FTP 叫做 TFTP。FTP 协议中将控制命令、数据分开传输的方法,为了提高效率,FTP协议要创建2个SOCKET TCP连接,占用2个TCP,HTTP :HyperText Transfer Protocol 超文本传输协议,是基于TCP协议。HTTP 协议 通过一个SOCKET连接传输依次会话数据。另外有若干个从属进程,负责处理单个请求。一个主进程,负责接收新的请求。
2024-07-05 16:13:25
755
1
原创 IOC、DI<3> IServiceConllection 自定义IOC含属性注入、多实现注入,方法注入
【代码】IOC、DI<3> IServiceConllection 自定义IOC含属性注入、多实现注入,方法注入。
2024-07-05 10:15:02
617
原创 IOC、DI<2> IServiceConllection 自定义IOC
【代码】IOC、DI<2> IServiceConllection 自定义IOC。
2024-07-04 15:08:33
237
原创 IOC、DI<1> IServiceConllection、 Autofac
》》》上面注入,严格的来说 并没有实现和接口隔开。还需要引入 dll。
2024-07-03 16:24:57
419
原创 Asp.NET identity以及Owin
》》Identity是集成到Owin框架中中● Microsoft.AspNet.Identity.EntityFramework:Identity数据持久化的EF实现。● Microsoft.AspNet.Identity.OWIN:基于Identity的OWIN身份验证插件,它代替了原有的Form验证。● Microsoft.Owin.Host.SystemWeb:Owin的IIS宿主,将IIS的接收到的请求转入Owin处理。
2024-07-01 17:30:32
397
原创 EF code first约定 Fluent API、数据特性
● 关于ID的约定(主键约定):类型中以ID命名的或者命名以ID结尾的,如ID或PostID。如果类型为数字或者GUID那么将会被认为是Identity列。● 关于类关系的约定(表之间的外键约定):使用导航属性(既该属性是另一个实体类型)来判断类与类之间的一对一、一对多和多对多关系。
2024-07-01 11:24:22
218
原创 Entity Framework EF Migration 迁移
针对Code First来说关注的只有实体类。当需求变更时只需要添加新的实体类或者在实体类中添加、删除、修改属性即可。但是修改完成之后要如何将修改同步到数据库中?migration 机制就出现了●启用Migrations●通过Add-Migration添加Migration●Update-Database更新数据库●更新模型并添加新的Migration●启动应用时自动将数据库更新至最新版本●关于Automatic Migrations(自动迁移)
2024-07-01 11:06:04
738
原创 ValidateAntiForgeryToken、AntiForgeryToken 防止CSRF(跨网站请求伪造)
换句话说,[ValidateAntiForgeryToken]必须和[HttpPost]同时加在一个ACTION上才可以正常使用。2、[ValidateAntiForgeryToken],根据传过来的令牌进行对比,如果相同,则允许访问,如果不同则拒绝访问。1、<%:Html.AntiForgeryToken()%> 或@Html.AntiForgeryToken()在Controller->Action动作上:[ValidateAntiForgeryToken]用途:防止CSRF(跨网站请求伪造)。
2024-06-28 17:09:50
397
结算方式 付款方式 支付方式
2023-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人