1

我们这里有一个特殊的问题。我们在客户端有一个代码,可以使用 HTTPWebResponse/HttpWebRequest 从 Web 服务器下载一些文件我们HttpWebResponse.ContentLength用来获取文件的大小......这些天它工作正常,但突然它开始给出 -1 但是当我们绕过它工作的服务器上的负载均衡器。任何人都可以给出一个公平的想法,说明为什么会发生这种情况

4

2 回答 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 回答