【问题标题】:Streamed service fails on a third call in a row流式服务连续第三次调用失败
【发布时间】:2012-10-04 23:47:35
【问题描述】:

我已将 WCF 服务配置为以流传输模式传输数据。我认为我已经正确设置了配置,因为我能够传输 100Mb 以上的文件,这超出了我的需要。

现在我调用我的传输服务 3 次以获取三个不超过 2 Mb 的不同文件。问题是,当我调用第三个文件时,我的程序冻结了,我不再得到任何响应,迫使我关闭程序。

我不认为这是一个文件大小问题,因为我已经测试了 20 Mb 大小的传递文件,只有前两个可以很好地到达客户端。但我没有收到第三次电话的任何回应。

这是一个可能将服务调用限制为两个的配置问题吗?
最好的问候

【问题讨论】:

  • 开始第三个文件时,前两个文件是否仍在流式传输?还是这些顺序的、同步的调用?
  • 它们是同步调用的。而且我在服务上没有任何错误日志条目,只有前两个文件正确提供。这可能是客户问题吗?
  • 服务是否真的得到了请求,还是客户端在发送请求之前锁定了?您是否进行了调试以尝试缩小进程在挂起之前的范围?
  • 服务无法向服务器发出第三个请求。我的意思是查看服务器的日志文件,我只有 2 个第一个请求。我认为客户端无法发出请求,因为它只是冻结
  • 我查看了客户的 svclog 文件,第三个请求没有“进程操作”条目。客户端无法启动通话。

标签: wcf streaming


【解决方案1】:

解决了一半

嗯,首先我不知道为什么客户端在两次成功请求后无法访问服务器,它挂掉了。

现在我知道我可以在将数据作为压缩文件发送到客户端的服务上传输 500 Mb。然后我调用 7z.exe (7zip) 来解压缩我的文件。

这不是解决此问题的方法。问题仍然存在,我认为有办法以正确的方式解决它。我会在找到答案后立即发布答案,但与此同时,我的用户将继续使用我的系统。

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多