【发布时间】:2020-12-18 16:32:19
【问题描述】:
为了提供一些背景信息,我正在开发一个基于 .NET Framework 4.0 的 Winforms 应用程序。我需要异步调用内部服务,而无需更改 .NET Framework 版本或添加任何 Nuget 包。我熟悉使用 async/await,但我们目前的要求不允许 .NET 框架升级
【问题讨论】:
-
Microsoft.Bcl.Async实际上是在 .NET 4.0 环境中使用 async 和 await 的方式。我很确定除了升级或使用那个 nuget 包之外别无他法。 -
总之你没有。您升级到受支持的 .net 版本,让您的生活更轻松。虽然如果你真的在 .net 4 中需要这个,这取决于你在做什么,有可能的方法
-
Asynchronous programming patterns - 使用 APM 或 EAP 而不是 TAP。
-
.NET 4.0 几年前就停止了支持,所有 .NET 4.x 运行时都是二进制替换。安装较新的版本(例如通过 Windows 更新)替换旧版本。我非常怀疑any 客户端机器仍在运行.NET 4.0。除非您想针对同样不受支持的 Windows XP。
-
@Raffy 这不是真的 - .NET 4.0 应用程序可以轻松升级到 4.5。唯一真正的阻碍因素是 Windows XP。而 .NET 4.0 需要 NuGet。顺便说一句,如果您仍然使用 .NET 4.0,您将无法使用任何使用 HTTPS 的站点或服务 - 几乎每个人(当然是所有主要服务)都在 4 年前迁移到 TLS1.2。 .NET 4.0 不支持 TLS1.2
标签: c# .net winforms asynchronous async-await