前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[C#] 支持API的边缘网关开发笔记4-通过API批量写数据

[C#] 支持API的边缘网关开发笔记4-通过API批量写数据

作者头像
科控物联
发布于 2022-03-29 12:07:26
发布于 2022-03-29 12:07:26
55500
代码可运行
举报
文章被收录于专栏:科控自动化科控自动化
运行总次数:0
代码可运行

更新时间:2022-01-29 17:50:28 视频演示:http://mpvideo.qpic.cn/0bc3r4aa2aaag4ait27wvbqvbd6dbwhqadia.f10002.mp4?

基本信息

  • 接口状态: 开发中
  • 接口URL: http://127.0.0.1:9009/Coils
  • 请求方式: PUT
  • Content-Type: application/json

请求参数

body参数及说明
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
	"destination": "127.0.0.1:502",
	"connectiontype": 2,
	"slaveid": 3,
	"address": 0,
"Data": [
	true,
	true,
	false,
	false,
	false,
	false,
	false,
	false,
	true,
	true
]
    
}
字段描述

参数名

示例值

参数类型

是否必填

参数描述

destination

127.0.0.1:502

Number

链接IP和端号

connectiontype

2

Number

通讯链接类型

slaveid

1

Number

从站

address

0

Number

起始地址

count

10

Number

读取数据长度

响应示例

成功响应示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"Coils写入成功 2022/01/29 17:56:20"
失败响应示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{"statusCode":500,"message":"Something went horribly, horribly wrong while servicing your request.","details":"<pre>Nancy.RequestExecutionException: Oh noes! ---&lt; System.IO.IOException: 无法将数据写入传输连接: 远程主机强迫关闭了一个现有的连接。。---&lt; System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。\r\n   在 System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)\r\n   在 System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)\r\n   --- 内部异常堆栈跟踪的结尾 ---\r\n   在 System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)\r\n   在 NModbus.IO.TcpClientAdapter.Write(Byte[] buffer, Int32 offset, Int32 size)\r\n   在 NModbus.IO.ModbusIpTransport.Write(IModbusMessage message)\r\n   在 NModbus.IO.ModbusTransport.UnicastMessage[T](IModbusMessage message)\r\n   在 NModbus.Device.ModbusMaster.WriteMultipleCoils(Byte slaveAddress, UInt16 startAddress, Boolean[] data)\r\n   在 ModbusHandler.Coils.Write(writerequest`1 wreq) 位置 D:\\ Csharp\\ModbusRestAPI\\ModbusHandler\\ModbusTypes\\Coils.cs:行号 21\r\n   在 ModbusEdgeAPI.routes.&gt;.ctor&lt;b__1_3(Object parameters) 位置 D:\\ Csharp\\ModbusRestAPI\\routes.cs:行号 105\r\n   在 Nancy.NancyModule.&gt;&lt;c__DisplayClass44_0`1.&gt;Put&lt;b__0(Object args)\r\n   在 Nancy.NancyModule.&gt;&lt;c__DisplayClass46_0`1.&gt;Put&lt;b__0(Object args, CancellationToken ct)\r\n   在 Nancy.Routing.Route`1.&gt;Invoke&lt;d__7.MoveNext()\r\n--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n   在 Nancy.Routing.DefaultRouteInvoker.&gt;Invoke&lt;d__2.MoveNext()\r\n--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n   在 Nancy.Routing.DefaultRequestDispatcher.&gt;Dispatch&lt;d__5.MoveNext()\r\n--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n   在 Nancy.NancyEngine.&gt;InvokeRequestLifeCycle&lt;d__22.MoveNext()\r\n   --- 内部异常堆栈跟踪的结尾 ---\r\n   在 Nancy.NancyEngine.InvokeOnErrorHook(NancyContext context, ErrorPipeline pipeline, Exception ex)</pre>"}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
无法加载为扩展“Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior”注册的类型
一天,某用户反馈过来说我们的软件无法运行,我一看异常信息看到了这个:“System.Configuration.ConfigurationErrorsException: 无法加载为扩展“Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior”注册的类型“Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”。 (C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config line 232)”。
walterlv
2023/10/22
4150
[C#] 支持API的边缘网关开发笔记3-NModbus4封装
至此,Nmodbus4<2.1.0>封装完成.可以直接调用自己的DLL来使用了.
科控物联
2022/03/29
9840
[C#] 支持API的边缘网关开发笔记3-NModbus4封装
Async和Await异步编程的原理
从4.0版本开始.NET引入并行编程库,用户能够通过这个库快捷的开发并行计算和并行任务处理的程序。在4.5版本中.NET又引入了Async和Await两个新的关键字,在语言层面对并行编程给予进一步的支持,使得用户能以一种简洁直观的方式实现并行编程。因为在很多文档里针对Async和Await这两个关键字的使用都被称为异步编程,为了更符合大众的阅读习惯,我们使用异步编程这个叫法,意思上和并行编程完全一样。
leon公众号精选
2022/04/27
1.1K0
Async和Await异步编程的原理
[C#] 支持API的边缘网关开发笔记8-miniAPI的实现
[2247,2249,2173,2249,1199,377,1086,1474,2092,1161,2179,1716,919,745,1846,1674,2237,2018,1488,2188,1313,1041,1719,3802,3732,3741,5011,5002,4990,1,5118,0,384,2245,2196,1223,1899,2060,1163,1646,1024,278,1565,1824,1232,2122,1360,2011,1610,581,1310,1436,1504,888,1239,3739,2245,2196,1223,1899,2060,1163,1646,1024,278,1565,1824,1232,2122,1360,2011,1610,581,1310,1436,1504,888,1239,3739,2245,2196,1223,1899,2060,1163,1646,1024,278,1565,1824,1232,2122,1360,2011,1610,581,1310,1436,1504,888,1239,3739,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
科控物联
2022/03/29
2870
[C#] 支持API的边缘网关开发笔记8-miniAPI的实现
dotnet 配置 Gitlab 的 Runner 做 CI 自动构建
今天在少珺小伙伴的协助下,使用了 gitlab 的 runner 给全组的项目做自动的构建。为什么需要使用 Gitlab 的 Runner 做自动构建,原因是之前是用的是 Jenkins 而新建一个底层库项目想要接入自动构建等,需要来回在 Gitlab 和 Jenkins 上配置,大概步骤差不多有 20 步,同时还有一堆 Jenkins 的坑。另外服务器是共有的,有其他组的小伙伴安装了诡异的工具让我的打包不断炸掉。于是我就和头像大人商量使用虚拟机环境的方法,我在空闲的服务器上安装了 VirtualBox 虚拟机,然后在虚拟机部署 Runner 接着在项目接入,这样就可以确定打包的环境,同时迁移服务器也比较方便
林德熙
2020/02/17
2.3K0
理解C#中的ValueTask
Task类是在.NET Framework 4引入的,位于System.Threading.Tasks命名空间下,它与派生的泛型类Task<TResult>已然成为.NET编程的主力,也是以async/await(C# 5引入的)语法糖为代表的异步编程模型的核心。
用户9127601
2023/09/12
4210
理解C#中的ValueTask
深入探讨 C# 和 .NET 中 async/await 的历史、背后的设计决策和实现细节
对async/await的支持已经存在了十多年。它的出现,改变了为 .NET 编写可伸缩代码的方式,你在不了解幕后的情况下也可以非常普遍地使用该功能。
郑子铭
2023/11/08
9980
深入探讨 C# 和 .NET 中 async/await 的历史、背后的设计决策和实现细节
C# 三种方式实现Socket数据接收(经典)
public abstract int Read(byte[] buffer, int offset, int count)
zls365
2021/01/14
7.8K0
C# 三种方式实现Socket数据接收(经典)
[C#] 支持API的边缘网关开发笔记7 -- 通讯重连
通讯故障,比如远端PLC等断电重启等后,网关就会出现问题. 分析是因为服务器端<PLC>异常时,网关的连接套接字就被回收了? 如果服务器端恢复时,就会出现<不允许非连接套接字执行此操作>的报警. {"
科控物联
2022/03/29
8370
[C#] 支持API的边缘网关开发笔记7 -- 通讯重连
[C#] 支持API的边缘网关开发笔记6-优化通讯池
在上一次的封装中,通过分别读4种类型<线圈/离散输入/寄存器/输入寄存器>的数据时.发现是4个连接.
科控物联
2022/03/29
3450
[C#] 支持API的边缘网关开发笔记6-优化通讯池
C# Socket编程 笔记,Socket 详解,入门简单
文章按照 Socket 的 创建、连接、传输数据、释放资源的过程来写。给出方法、参数的详细信息。
痴者工良
2021/04/26
1.4K0
c#简单的socket通讯demo
代码中注释比较多 如果仍旧看不懂请看JimmyZhang的这篇文章 http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286300.html 讲的很细很基础
liulun
2022/05/09
3250
【翻译】.NET 5中的性能改进
在.NET Core之前的版本中,其实已经在博客中介绍了在该版本中发现的重大性能改进。从.NET Core 2.0到.NET Core 2.1到.NET Core 3.0的每一篇文章,发现 谈论越来越多的东西。然而有趣的是,每次都想知道下一次是否有足够的意义的改进以保证再发表一篇文章。.NET 5已经实现了许多性能改进,尽管直到今年秋天才计划发布最终版本,并且到那时很有可能会有更多的改进,但是还要强调一下,现在已提供的改进。在这篇文章中,重点介绍约250个PR,这些请求为整个.NET 5的性能提升做出了巨大贡献。
李明成
2020/07/20
3.7K0
C# Socket编程笔记
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。
zls365
2020/08/19
1.1K0
C# Socket编程笔记
C#开发: 通信篇-TCP客户端
张三的电脑(ip:192.168.1.110)上有一个网络应用程序A(通信端口5000),
杨奉武
2020/03/05
5.8K0
C#开发: 通信篇-TCP客户端
c# UDP/TCP协议简单实现(简单聊天工具)
1、用户登陆于服务器通信用到的tcp协议,服务器接收到用户登陆信息(包括ip,端口,用户名等)后,返回已经登陆的用户列表信息(包括ip,端口,用户名等)给这个用户,同时服务器使用Udp协议向已经登陆的用户发送最新用户列表(包括ip,端口,用户名等)用于更新用户列表
冰封一夏
2019/09/11
1.3K0
C#学习笔记——CopyMemory
Socket接收到的byte []要转换成自定义的struct / 自定义Struct转换成byte []都相当麻烦 用循环去转换太浪费时间了……于是想到用CopyMemory,Google一圈终于搞定 下面的代码是在Snippet Compiler里编译通过的
vv彭
2021/08/06
9600
云原生时代的Spring Boot 3.0: GraalVM原生镜像,启动速度提升近30倍
Spring Boot 3.0 五天前(2022年11月24日)发布了,变化很大,基于spring6.0,spring6.0是Spring下一个未来十年的新开端。
后端云
2023/02/10
3.6K0
云原生时代的Spring Boot 3.0: GraalVM原生镜像,启动速度提升近30倍
使用 C# 开发 node.js 插件
项目需求 最近在开发一个 electron 程序,其中有用到和硬件通讯部分;硬件厂商给的是 .dll 链接库做通讯桥接, 第一版本使用 C 写的 Node.js 扩展 😁;由于有异步任务的关系,实现使用了 N-API 提供的多线程做异步任务调度, 虽然功能实现了,但是也有些值得思考的点。 纯 C 编程效率低,木有 trycatch 的语言调试难度也大 (磕磕绊绊的) 编写好的 .node 扩展文件,放在 electron 主进程中运行会有一定的隐患稍有差错会导致软件闪退 (后来用子进程隔离运行) 基于
conanma
2022/01/05
2.1K0
是什么优化让 .NET Core 性能飙升?
.NET Core(开放源代码,跨平台,x-copy可部署等)有许多令人兴奋的方面,其中最值得称赞的就是其性能了。
葡萄城控件
2022/05/09
1.1K0
相关推荐
无法加载为扩展“Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior”注册的类型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验