在C#的主要方法中运行异步代码:异步限制的解决方案
>在较旧版本的C#中,在>方法上不直接支持修饰符。 但是,几种技术允许在控制台应用程序的入口点内进行异步操作。
如果您的开发环境支持它,则最简单的解决方案是将async
声明为Main
>并返回
>
使用异步上下文(用于较旧的Visual Studio版本)Main
>
async
对于较旧的Visual Studio版本,或者如果您不希望使用Task
class Program
{
static async Task Main(string[] args)
{
// Your asynchronous code here...
}
}
>
阻止主线程(不太理想)
>
在功能上,直接阻止主线程,直到由于潜在的问题而受到异步操作的效果,通常不太喜欢。 此方法使用async
:Main
AsyncContext
Nito.AsyncEx
<code class="language-csharp">using Nito.AsyncEx; class Program { static void Main(string[] args) { AsyncContext.Run(() => MainAsync(args)); } static async void MainAsync(string[] args) { // Your asynchronous code here... } }</code>>使用
至关重要。 避免>或直接访问属性,因为这些可能会掩盖异常并导致更难访问的问题。 适当传播异常。
以上是如何在C#Console应用程序的主要方法中运行异步代码?的详细内容。更多信息请关注PHP中文网其他相关文章!