我们这里有一个特殊的问题。我们在客户端有一个代码,可以使用 HTTPWebResponse/HttpWebRequest 从 Web 服务器下载一些文件我们HttpWebResponse.ContentLength
用来获取文件的大小......这些天它工作正常,但突然它开始给出 -1 但是当我们绕过它工作的服务器上的负载均衡器。任何人都可以给出一个公平的想法,说明为什么会发生这种情况
问问题
1121 次
2 回答
2
来自 MSDN 关于该HttpWebResponse.ContentLength
属性的文档:
如果响应中未设置 Content-Length 标头,则 ContentLength 设置为值 -1。
简单地说——服务器没有发送Content-Length
标头。
于 2013-03-15T13:14:04.357 回答
2
HttpWebResponse.ContentLength
只报告服务器在Content-Length
标头中发送的内容。或者,如果服务器没有发送任何内容,它可能会报告 -1。
无论问题是什么,它都与服务器有关,而不是HttpWebResponse
.
既然您说如果禁用负载平衡器问题就会消失,我怀疑至少有一个由负载平衡器激活的服务器没有设置标头。
于 2013-03-15T13:13:58.173 回答