C# Web API 2上载大型json字符串

C# Web API 2上载大型json字符串,c#,asp.net-web-api,C#,Asp.net Web Api,我想了解一些关于将大型对象从客户端发布到服务器上的WebAPI post方法的最佳策略的建议?是否有遵循的标准策略?我发布到服务器的类如下所示:- public class DataSetValidationRequest { public string DataSetName { get; set; } public string JsonString { get; set; } } JsonString属性本质上保存了一个序列化的数据表,该数据表可以包含约200000行(当该字

我想了解一些关于将大型对象从客户端发布到服务器上的WebAPI post方法的最佳策略的建议?是否有遵循的标准策略?我发布到服务器的类如下所示:-

public class DataSetValidationRequest
{
   public string DataSetName { get; set; }
   public string JsonString { get; set; }
}
JsonString属性本质上保存了一个序列化的数据表,该数据表可以包含约200000行(当该字符串保存到磁盘时,其大小为约30mb)

我目前正在使用deflate算法压缩DataSetValidationRequest对象,然后将其发送到服务器,然后将服务器上的压缩流解压缩回原始流。然后我使用JsonConvert将流解析回请求对象,但是我得到了OutOfMemoryExceptions。有没有更好的方法可以分块完成?我曾想过将数据分割成多个数据块,并向服务器发出多个请求,但随后我需要实现某种形式的事务控制,以确保所有数据都能通过网络成功传输,这似乎不是一个好主意


如有任何建议,将不胜感激

不久前,我反过来问了一个类似的问题。请看:-我能够使用流一次反序列化(在您的情况下,序列化)一个对象(通过相同的常量流)——祝您好运!嗨,香农,我不知道你是怎么做到的。你有没有举个例子?你的意思是我可以使用我的流进行反序列化吗?我用JsonConvert试过了,但它不起作用——我认为它只是将整个字符串读入内存,然后尝试序列化。它正常工作。在这个问题上提供的答案允许我一次反序列化一个(同样可以应用于序列化)。很抱歉,我不再有有效的例子了,但答案就在我收到的答案中。不久前我问了一个类似的问题。请看:-我能够使用流一次反序列化(在您的情况下,序列化)一个对象(通过相同的常量流)——祝您好运!嗨,香农,我不知道你是怎么做到的。你有没有举个例子?你的意思是我可以使用我的流进行反序列化吗?我用JsonConvert试过了,但它不起作用——我认为它只是将整个字符串读入内存,然后尝试序列化。它正常工作。在这个问题上提供的答案允许我一次反序列化一个(同样可以应用于序列化)。很抱歉,我不再有工作示例,但答案在我收到的答案中。