当前位置:  开发笔记 > 编程语言 > 正文

C#large字符串作为null到达WebApi

如何解决《C#large字符串作为null到达WebApi》经验,为你挑选了0个好方法。

我在使用ASP.NET Web API从客户端到服务器上传大文件(最多500 MB)时遇到问题.上传文件大小超过370 MB时出现问题.较小的文件没有问题地到达Web API,但是如果文件较大,我在Web API处接收空值参数.

我试图上传的文件是BSON序列化的,所以它是一个名为"poststring"的字符串,并在服务器端反序列化.

BSON序列化也没有问题,没有客户端文件的大小.

我没有收到任何错误,当文件较大时它只是作为null到达.

客户方面的要求:

HttpWebRequest webRequest = WebRequest.Create(uri) as HttpWebRequest;
webRequest.Method = "POST";     
const string contentType = "application/json";
webRequest.ContentType = contentType;
webRequest.ContentLength = postString.Length;
StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postString);          
requestWriter.Close();
StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();
responseReader.Close();
webRequest.GetResponse().Close();

Web API:

public void UploadDocuments([FromBody]string aBsonString)
{
   //If aBsonString is larger than 370 mb, the string is null!    
   //CODE
}

我在IIS中尝试的事情:

- 我已将maxAllowedContentLength设置为2147483648

- 我已将maxRequestLength设置为2147483648

我为测试设置了如此大的值,我稍后会减少它,因为我知道这可能是一个漏洞.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有