c# – 如何通过HTTP从.NET 4.5下载一个字符串?

我有一个非常简单的需求 – 我的C#代码需要通过HTTP连接到远程服务器并下载一个字符串.一个琐碎的GET请求,没有了.

为了确保我的应用程序保持响应,我还想对操作施加超时(例如3秒).

我的第一个想法是使用System.Net.WebClient,但是不支持任何超时.

然后我想尝试旧的System.Net.HttpWebRequest,但唉 – 从.NET 4.5它是been marked as obsolete

那我可以用什么?我查出了System.Net.Http的命名空间,但它只允许异步使用,强制使用Tasks,通常只增加了十几个不同层次的抽象,而无需真正添加任何新的功能(因为它使用了相同的旧版本System.Net.HttpWebRequest)

我不想异步的东西,我不想涉及其他线程,我不想涉及到Tasks框架,我不想要吨的包装器.

在.NET 4.5中正确的方法是什么?

解决方法

HttpWebRequest类不被弃用,只有它的构造函数是.

引用documentation

Do not use the 07001 constructor. Use the 07002 method to initialize new HttpWebRequest objects. If the scheme for the Uniform Resource Identifier (URI) is http:// or https://,Create returns an HttpWebRequest object.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...