Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF REST服务返回大文件时出现响应时间问题_C#_.net_Wcf_Json_Rest - Fatal编程技术网

C# WCF REST服务返回大文件时出现响应时间问题

C# WCF REST服务返回大文件时出现响应时间问题,c#,.net,wcf,json,rest,C#,.net,Wcf,Json,Rest,嗨 我创建了一个响应格式为JSON的WCF REST服务。该服务的基本功能是,当调用它时,它将从文件系统向请求者返回一个大文件(主要是zip文件)。对于20MB的文件,用户完全下载该文件所需的时间超过20分钟 如何在服务实现中发现问题? 是否要包含任何配置参数,以便使用WCF REST服务下载大型文件? 是否有可用的工具/方法来监控WCF REST服务的性能?至于监控客户端和服务器之间的对话,我建议您使用这些工具/方法,还可以看看这一点,它涉及到使用Web服务传输大数据 我不确定重构你的代码是否

我创建了一个响应格式为JSON的WCF REST服务。该服务的基本功能是,当调用它时,它将从文件系统向请求者返回一个大文件(主要是zip文件)。对于20MB的文件,用户完全下载该文件所需的时间超过20分钟

如何在服务实现中发现问题? 是否要包含任何配置参数,以便使用WCF REST服务下载大型文件?
是否有可用的工具/方法来监控WCF REST服务的性能?

至于监控客户端和服务器之间的对话,我建议您使用这些工具/方法,还可以看看这一点,它涉及到使用Web服务传输大数据


我不确定重构你的代码是否在桌面上,但是如果是的话,你可以考虑采用策略。到WCF实现。这允许您以分块的方式发送/接收二进制数据。这很酷,因为对数据进行分块,再加上AJAX UI,将允许您向正在上载数据的用户显示进度条,并有助于查看您自己的健康状态。

至于监控客户端和服务器之间的对话,我建议您使用,还可以看看这一点,即使用Web服务传输大数据


我不确定重构你的代码是否在桌面上,但是如果是的话,你可以考虑采用策略。到WCF实现。这允许您以分块的方式发送/接收二进制数据。这很酷,因为对数据进行分块,再加上AJAX UI,将允许您向正在上载数据的用户显示进度条,并有助于查看您自己的状态。

OMG,我刚刚意识到您说您使用的是JSON响应格式。啊,您真的不想尝试将zip文件序列化为JSON格式。更改您的服务操作以返回流,并将字节直接写入流。

OMG,我刚刚意识到您说您使用的是JSON响应格式。啊,您真的不想尝试将zip文件序列化为JSON格式。更改您的服务操作以返回流,并将字节直接写入流。

您可以向我们展示您的服务操作吗?你返回的是一条流吗?米勒,我返回的是一条流,只是对误导性的查询表示抱歉。这是我的服务操作[OperationContract][WebGet(ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Bare,UriTemplate=“Files.zip?file={file})]流GetZipFile(字符串文件);你能给我们看一下你的ServiceOperation吗?你返回的是流吗?米勒,我返回的是流,只是对误导性的查询感到抱歉。这是我的ServiceOperation[OperationContract][WebGet(ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Bare,UriTemplate=“Files.zip?file={file})]stream GetZipFiles(字符串文件);