【发布时间】:2011-01-29 08:30:56
【问题描述】:
我正在尝试将大型 xml 文件上传到 REST 服务...我已经尝试了几乎所有在 google 上的 stackoverflow 上指定的方法,但我仍然无法找出我哪里出错了...我无法上传更大的文件超过 64 kb!..
我已经指定了 maxRequestLength :
<httpRuntime maxRequestLength="65536"/>
我的绑定配置如下:
<bindings>
<webHttpBinding>
<binding name="RESTBinding" maxBufferSize="67108864" maxReceivedMessageSize="67108864" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
</binding>
</webHttpBinding>
</bindings>
在我的 C# 客户端中,我正在执行以下操作:
WebRequest request = HttpWebRequest.Create(@"http://localhost.:2381/RepositoryServices.svc/deviceprofile/AddDdxml");
request.Credentials = new NetworkCredential("blah", "blah");
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = byteArray.LongLength;
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteArray, 0, byteArray.Length);
}
客户端没有做特殊配置...
我试过 fiddler...客户端正在发送正确的请求...但是服务器立即响应 400..
【问题讨论】:
-
@marc_s:我也是这么想的,但根据文档“最大请求大小 [是] 以千字节为单位”。 msdn.microsoft.com/en-us/library/…