Net Core教程

在 .net framework 代码迁移至 .net core 时需要注意 BeginInvoke 不再被支持

本文主要是介绍在 .net framework 代码迁移至 .net core 时需要注意 BeginInvoke 不再被支持,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考:https://devblogs.microsoft.com/dotnet/migrating-delegate-begininvoke-calls-for-net-core/

https://github.com/dotnet/runtime/issues/16312

具体表现是代码编译很正常,但是在运行过程中,一旦触发就会报异常:

System.PlatformNotSupportedException: Operation is not supported on this platform.

   at System.Action`1.BeginInvoke(T obj, AsyncCallback callback, Object object)

嗯,就是 BeginInvoke 的锅。。。

解决方案就是使用 Task.Run 来替换 BeginInvoke 即可,按文章里的说法,就是从 APM 换到 TAP,原来的这种方式不再推荐。

这篇关于在 .net framework 代码迁移至 .net core 时需要注意 BeginInvoke 不再被支持的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!