我正在使用webClient.DownloadFile()下载文件,我可以为此设置超时,这样如果它无法访问文件就不会花这么长时间吗?
那些"精细"的RFC要求每个RFC客户端都要求他们注意每个主机不要使用超过2个连接......
Microsoft在WebClient中实现了这一点.我知道它可以关闭
App.config中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="100" />
</connectionManagement>
</system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是我怎么能以编程方式呢?
遵守 http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit.aspx
"更改DefaultConnectionLimit属性对现有ServicePoint对象没有影响;它仅影响在更改后初始化的ServicePoint对象.如果未直接或通过配置设置此属性的值,则该值默认为常量DefaultPersistentConnectionLimit."
我最好在我实现WebClient时配置限制,但只是在我的程序开始时以编程方式删除这个可怕的限制也没关系.
我访问的服务器不是互联网上的常规网络服务器,而是在我的控制下和本地局域网中.我想做API调用,但我不使用webservices或remoting
我希望自动解压缩GZiped的响应.我使用以下代码段:
mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
mywebclient.Encoding = Encoding.UTF8;
try
{
var resp = mywebclient.DownloadData(someUrl);
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了HttpRequestHeader enum,没有选择通过这个来做到这一点Headers
如何自动解压缩resp?或者我应该使用另一种功能而不是mywebclient.DownloadData?