我有一个非常简单的需求——我的 C# 代码需要通过 HTTP 连接到远程服务器并下载一个字符串。一个微不足道的 GET 请求,仅此而已。
为了确保我的应用程序保持响应,我还想对操作施加超时(比如 3 秒)。
我的第一个想法是使用System.Net.WebClient
,但这不支持任何超时。
然后我想试试旧的System.Net.HttpWebRequest
,但是可惜 - 因为 .NET 4.5 它已被标记为过时!
那么,我可以使用什么?我检查了System.Net.Http
命名空间,但它只允许异步使用,强制使用Task
s,并且通常只添加十几个不同的抽象层而没有真正添加任何新功能(因为它在System.Net.HttpWebRequest
下面使用相同的旧功能)
我不想要异步的东西,我不想涉及其他线程,我不想涉及 Tasks 框架,我不想要大量的包装器。
在 .NET 4.5 中执行此操作的正确方法是什么?