[英]REST API Put large data
我在Microsoft Web API中实现了REST API。
在我的客户端,我使用HttpRequestMessage和HttpResponseMessage。
当我发送一个小类时,我将它序列化为JSON然后发送它。
很快,我的班级变得更大,我需要JSON这个类,压缩它(在内存中)并发送到服务器。 我不能再使用相同的技术,我需要发送块的zip。
实现它的正确方法是什么? 我已经阅读了这篇文章, 将文件和相关数据发布到RESTful WebService,最好是JSON
需要一些好文章,我不知道从哪里开始。
在客户端,这应该是开箱即用的...
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.TransferEncodingChunked = true;
var content = new CompressedContent(new StreamContent(new FileStream("c:\\big-json-file.json",FileMode.Open)),"UTF8");
var response = httpClient.PostAsync("http://example.org/", content).Result;
您可以在WebApiContrib中找到CompressedContent的实现 。 如果您使用的是早于.net 4.5,请求将在发送之前缓冲客户端。 不幸的是,底层的HttpWebRequest在.net 4.5之前不支持缓冲流式传输
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.