标签:C#

C#使用 Modbus 通信协议采集电表数据

小弟刚实习,boss就让我采集一个电表的数据,电表采用 Modbus 通信协议,我去,刚开始啥都不懂,boss说去问电表厂商,稀里糊涂的找了厂商三次,最后得到的回答是要用 Modbus 协议解析命令和得到的数据。 好吧,又去研究那个鬼协议,研究了几天,我想写程序通过telnet连接串口服务器发送命令还是不行,哪位大神知道怎么把命令发送过去? 好像VS里面有个……

socket 常连接,使用windows服务启动会间隔断开

因为客户和环境需要,外网的服务器上需要访问内网主机上的数据库。我的方案是:内网服务器上启一个socket,与外网服务器保持常连接。外网服务器可以与内网服务器通信。内网服务器上的socket常连接通过控制台应用程序能保持常连接,但是通过windows服务启动常连接会每间隔2分钟断开一次。我已经使用心跳包保持连接活跃了,是否windows服务有什么机制会断开连接……

NPOI读取excel文件功能,兼容xls和xlsx

之前用 NPOI 1.2读取Excel,好像只支持 xls 格式,下载了 NPOI 2.0 然后引用了全部4个dll, XSSFWorkbook 在 NPOI.OOXML.dll中,其他几个不清楚是不是必须引用; C#代码段 IWorkbook wk; string fileExt = Path.GetExtension(fil……

多线程向数据库插入数据的加锁解锁问题

用户在活动添加页面添加一个活动,活动名字叫“拆礼盒”,一个活动可以有多个礼盒,每个礼盒又可以设置奖品数量,保存后我们又要自动生成一个兑奖码,有多少奖品就有多少兑奖码; 问题来了,当用户设置奖品数量很大时,比如1000,后台就要循环1000次生成兑奖码然后插入数据库,这个过程是很慢的,本人测试,1条条的插,800条需要15秒左右,使用SQLBulkCopy减少……

如何判断线程池中线程是否全部执行完成

线程全部执行完了,但是 if (workerThreads == maxWordThreads) 这个判断怎么也不成立, 判断方法是 当线程池的可用线程数 == 线程池最大线程数时 为子线程全部执行完成, 大家帮我看看问题出在哪儿了 using Microsoft.VisualStudio.TestTools.UnitTesting; using Syste……

datagridview数据更新事件的编写

我已经快被 datagridview 数据更新问题折磨疯了。。 首先申明我不用数据绑定,没有数据源,我也不会用数据绑定,所以大侠们原谅我这么任性吧。。。 我用一个二维数组A[3.3]存储datagridview中单元格的数据。我做了个界面,在界面上可以单击datagridview的单元格进行修改,通过cellendedit事件,被修改的数据写入到A中,然后我……

C#异常未将对象引用应用到对象的实例

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.For……