客户端调用WebService,服务端有时候接收不到消息的问题!!

makel 2008-01-28 11:11:39
web应用,客户端和服务端均是C#,服务端只有一个调用方法,且在服务端接收消息时均有记录日志。
现在的情况是,网络正常的情况下,客户端调用服务端时,传输相同的数据内容调用,50次里面可能有一两次调用会报Time Out的错误,且这一两次Time Out时服务端均没有接收到消息的日志记录。出现这种情况后,刷新一下页面,再次调用就又能成功了。
弄了很久都没搞明白问题出在哪里,哪位大虾碰到过这种情况??
...全文
478 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuchen_pxf 2011-12-16
  • 打赏
  • 举报
回复
我开始也是这种情况,然后我就把去其他的复杂业务都给去了,就留下一个socket,就没关系了。
mywwl 2009-05-18
  • 打赏
  • 举报
回复
由于网络等各种原因,这是很正常现象
建议自己做数据完性检查,比如:
加个记数计参数,客户端每次调用成功时加一,失败则不变
服务器记住客户端每次提交的参数当提交来的记数计参数与上一次一样,
说明上次数据客户端没收到,测重发上一次数据,直到收到

类拟的,服务器返回给客户端也可以做个记数计,每发送成功时加1,否则不变
客户端收数据也要检查服务器返回的参数是否递增,否则说明上次收的数据可能不全
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
不明LZ在说什么
lemong 2008-02-02
  • 打赏
  • 举报
回复
好像和网络有关,我们用Ajax实现的,js异步调用Webservice,也偶尔有拿不到数据的问题,表现更怪异,有的机器经常会出现,而有的机器从来没出现过。
pwroselove 2008-01-29
  • 打赏
  • 举报
回复
网络问题,你把WEB SERVICE设置成异步看看
makel 2008-01-29
  • 打赏
  • 举报
回复
应该不会是网络问题吧,因为出现超时问题后,如果页面不重新打开,再次提交都是Time Out,而如果重新打开该页面再提交则又可以调用成功了....
至于改为异步是不行的,因为返回的数据是后续处理所必须的,没办法!

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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