2013-01-16 33 views
1

我需要使用Web服务传输1 GB。我想用msmq分段转移。也许有一种方法可以让它容易吗?c#使用Web服务传输大量数据

+0

什么意思是使用webservice传输?你是否将这些数据发布到WS?或者它是一种回应? – ryadavilli

+0

我发布这个数据到WS – Zhenia

+1

http://www.codeproject.com/Articles/12551/Sending-Files-in-Chunks-with-MTOM-Web-Services-and – Habib

回答

2

如果您可以将数据分成较小的块,那么请执行。 Web服务的目的不是一次传输大量数据,所以即使可能,它也会是一次颠簸。

但世界上没有一种有效的方式工作,所以这里就是你要做的:

数据为二进制写入到本地文件。 2.创建一个使用流读取器从文件读取到您的webservice的Streamwriter。 3.如果发生任何事情,请捕捉异常并尝试从文件指针所在的位置恢复。 4.如果您可以修改Web服务,让它读取数据并写入二进制文件,捕获任何错误并尝试将任何新数据恢复写入当前指针处的文件。

诀窍是要弄清楚如何告诉你试图恢复中断请求的服务。

如果这不明确,我会尽量扩大一些。

0

我需要使用Web服务传输1 GB。我想用msmq分段转移。

我想用汽车运送人。我想用一架飞机。

Get it? Web服务或MSMQ。他们不会奇迹般地混合。

这样说:Web服务,促使数据=坏主意。即使JSON也有开销。流动,非流媒体?这是很多开放变量,并且在大多数情况下,这里的Web服务没有什么意义。

向上(发送到服务)或向下(到服务)?更多的问题 - 我真的不想要1GB上传到Web服务。

如果您需要拼接数据并制作api以请求所有“零件”,然后逐个获取零件,则还可以显示进度条。您的软件必须处理由于在运输过程中可能发生的故障而导致的部件重新请求。

如果数据是二进制数据,我会认真考虑在这里不使用Web服务,至少下载时使用REST API。也可能用于上传。很多都取决于你甚至不知道如何要求或不想描述的所有东西。

0

您可以对目标下一个分割数据中的第一个创建缓冲区进行一些服务并通过服务发送它,然后完成它。

相关问题