.NET CORE 关于void返回类型的坑

  • Post author:
  • Post category:其他


这段时间在调试微光互联的MX系列扫码设备时 发现一些问题 折腾了我好几天 终于研究出来了 发现一些.NET可能存在的坑 记录一下

目前扫码器的工作原理是

扫码时 将携带二维码中的数据跟设定好的设备号 通过HTTP协议的 POST方式访问服务端的接口,接收到返回字符串“code=0000”,则表示扫码成功,设备显示正确扫码行为(亮绿灯),否则显示错误扫码行为(亮红灯)

我测试的时候一直遇到

设备一直扫同一个码 偶尔成功偶尔失败,查看服务器的日志,每次的失败扫码行为(亮红灯),服务器仍接收到数据

的问题,而接口仅返回“code=0000”,理论上,扫码行为都应成功(亮绿灯)。

设备返厂了几次,排除了设备、网络、服务器问题,最终锁定为接口的问题,研究了好多天,终于搞定,最后问题在于 接口采用了void返回值,通过流直接将数据发送给后端,这里就会涉及到一个void返回值的问题:

void不会马上返回一个200,而且返回一个204给服务器给应答,直接返回string就是直接200返回了。所以将返回值由void改成string 成功解决



版权声明:本文为grayguardian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。