wiform通信问题请教

_少年已不年_少 2014-07-09 10:35:15
最近与一家医保系统做了接口对接,对病人的费用数据进行上传。业务都测试正常,唯一遇到的一点问题就是,如果同时传送多人的数据,经常会出现在数据上传过程中报错,提示网络不通的错误,然后我只能重新点上传,,这种情况不是每次都发生,也是机率性的。并且我在使用接口上传数据的过程中顺便实时的ping对方的ip,发现没有丢包现象出现。因为自己对网络通信这一块没怎么研究,也不知道有什么好的方案解决这个问题。希望论坛的朋友能给提供下思路。毕竟在上传过程中经常弹出网络不通的错误很是影响使用感受。[
...全文
291 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 15 楼 sp1234 的回复:
诊断一个问题之前,最怕的就是报 bug 的人胡说他自己“想的”现象,最怕他翻来覆去地就是说不出来真正的异常信息。 写程序也是这样。有的人胡写什么 try....catch,凡是访问服务器的一堆代码出现异常了,他就 catch 到一个什么胡乱甩出一个“网络不通”的提示给用户,目的是不让用户看到真正的技术调试所需要的信息。 在调试你的程序时,你不应该去掩盖异常,你应该尽量让异常尽早出现。开发时需要做的是调试代码,不要try...catch。
接口是用的对方的动态链接库,是我调用动态链接库中的方法后,对方返回给我的信息是网络不通。
  • 打赏
  • 举报
回复
引用 15 楼 sp1234 的回复:
诊断一个问题之前,最怕的就是报 bug 的人胡说他自己“想的”现象,最怕他翻来覆去地就是说不出来真正的异常信息。 写程序也是这样。有的人胡写什么 try....catch,凡是访问服务器的一堆代码出现异常了,他就 catch 到一个什么胡乱甩出一个“网络不通”的提示给用户,目的是不让用户看到真正的技术调试所需要的信息。 在调试你的程序时,你不应该去掩盖异常,你应该尽量让异常尽早出现。开发时需要做的是调试代码,不要try...catch。
学习了。谢谢。
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
”如何进行判定“? 你所说的”提示网络不通的错误“是你写的程序吗?
提示网络不通是我得程序获取到的错误信息,是在调用对方服务的时候返回的。
  • 打赏
  • 举报
回复
诊断一个问题之前,最怕的就是报 bug 的人胡说他自己“想的”现象,最怕他翻来覆去地就是说不出来真正的异常信息。 写程序也是这样。有的人胡写什么 try....catch,凡是访问服务器的一堆代码出现异常了,他就 catch 到一个什么胡乱甩出一个“网络不通”的提示给用户,目的是不让用户看到真正的技术调试所需要的信息。 在调试你的程序时,你不应该去掩盖异常,你应该尽量让异常尽早出现。开发时需要做的是调试代码,不要try...catch。
  • 打赏
  • 举报
回复
如果你说的“调用对方服务的时候返回的”是指根本不能调用对方服务,那么你应该查一下你自己的程序,可能是 bug。可能人家网络是通的,根本不是网络问题。 程序中不要乱写什么想当然的 try...catch,这种给一个想当然的误报信息的办法使得你丧失了调试能力。要能够调试真正的程序真正的异常,你不应该贴出你自己写的什么“网络不通”这种话,你应该能够贴出真正的调试信息。
  • 打赏
  • 举报
回复
调用对方服务的时候返回的?对方服务都返回信息了,还“不通”,那么就更是跟你与对方服务之间的通讯毫无关系了。
於黾 2014-07-10
  • 打赏
  • 举报
回复
想简单点,不加服务器,就客户端处理逻辑,失败自动重新上传,不要让用户再去点一次了.
於黾 2014-07-10
  • 打赏
  • 举报
回复
这个跟对方的服务端有关系,如果做的比较烂,处理不了高并发,就会出现失败. 不动对方的程序,单纯想提高客户体验,可以自己加个服务器中转,先上传到本地服务器,本地服务器再上传,并对失败情况进行处理(重新上传或断点续传,如果对方支持的话)
mjp1234airen4385 2014-07-10
  • 打赏
  • 举报
回复
对方的系统已经做的情况下,就不要什么wcf了。
於黾 2014-07-10
  • 打赏
  • 举报
回复
引用 8 楼 PressTab 的回复:
引用 6 楼 Z65443344 的回复:
想简单点,不加服务器,就客户端处理逻辑,失败自动重新上传,不要让用户再去点一次了.
请教一下,对于网络通信失败这一块我如何来进行判定。只有先判定了才能写处理逻辑,给个思路可好。
那你现在做的程序,用户是如何知道上传没有成功的? 上传完了,再上传一遍,看是否提示数据有重复??
  • 打赏
  • 举报
回复
”如何进行判定“? 你所说的”提示网络不通的错误“是你写的程序吗?
  • 打赏
  • 举报
回复
对方有通信失败问题,你只是调用接口,能有什么办法?
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
想简单点,不加服务器,就客户端处理逻辑,失败自动重新上传,不要让用户再去点一次了.
请教一下,对于网络通信失败这一块我如何来进行判定。只有先判定了才能写处理逻辑,给个思路可好。
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
想简单点,不加服务器,就客户端处理逻辑,失败自动重新上传,不要让用户再去点一次了.
这也是一种当前的解决方案
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
要么完善你的代码,要么使用wcf一类的框架,这样就不用操心诸如发包丢包这种底层的事情了。
自己也准备往wcf那方面去靠拢。
threenewbee 2014-07-09
  • 打赏
  • 举报
回复
要么完善你的代码,要么使用wcf一类的框架,这样就不用操心诸如发包丢包这种底层的事情了。
  • 打赏
  • 举报
回复
再做下说明,对于多人数据上传,我已经把数据包分割了多份了,分割的数据包自己感觉也不大。一直没找到好的解决办法。

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧