嗨,
我创建了一个响应格式为 JSON 的 WCF REST 服务。该服务的基本功能是,当它被调用时,它将从文件系统返回一个大文件(主要是 zip 文件)给请求者。对于 20MB 的文件,用户完全下载文件所花费的时间超过 20 分钟。
如何发现服务实施中的问题? 是否包含任何配置参数以适应使用 WCF REST 服务下载大文件? 是否有工具/方法可用于监视 WCF REST 服务的性能?
OMG,我刚刚意识到你说你正在使用 JSON 响应格式。 Arrgh,你真的不想尝试将 zip 文件序列化为 JSON 格式。更改您的服务操作以返回流并将字节直接写入流。
就监控客户端和服务器之间的对话而言,我建议为此使用 Fiddler,也可以看看这个 link,它讲述了使用 Web 服务传输大数据。
我不确定重构您的代码是否在桌面上,但如果是,您可能会考虑采用 MTOM 策略。 这里是 WCF 实现的链接。这允许您以分块方式发送/接收二进制数据。这很酷,因为将数据分块,再加上 AJAX UI,将允许您向正在上传它的用户显示一个进度条,并有助于您查看状态以保持理智。
你能用 WCF Rest 流传输大文件吗?我的 webHttpBinding 出现“信号量超时”异常。