如何从.NET 4.5通过HTTP下载字符串?

Vil*_*lx- 10 .net c# .net-4.5

我有一个非常简单的需求 - 我的C#代码需要通过HTTP连接到远程服务器并下载字符串.一个简单的GET请求,仅此而已.

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

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

然后我想尝试好的旧版本System.Net.HttpWebRequest,但是唉 - 自.NET 4.5以来它已被标记为过时了!

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

我不想要异步的东西,我不想涉及其他线程,我不想涉及任务框架,我不想要大量的包装器.

在.NET 4.5中执行此操作的正确方法是什么?

GSe*_*erg 14

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

引用文档:

不要使用HttpWebRequest构造函数.使用该WebRequest.Create方法初始化新HttpWebRequest对象.如果统一资源标识符(URI)的方案是http://https://,则Create返回一个HttpWebRequest对象.