我正在尝试编写一个非常简单的异步代码。我有一个不带任何参数的void方法,该方法将从Windows服务中调用。我想要异步启动它,以便服务不必挂起等待方法完成。
我创建了一个非常简单的测试应用程序,以确保我编写的代码正确,但是异步方法根本没有被调用。有人能看到我做错了什么吗?顺便说一下,我正在使用.NET 4.0,所以我不能使用await(这将更加简单!)。
以下是我的整个测试样例...
感谢您能够提供的任何帮助。
谢谢。
我创建了一个非常简单的测试应用程序,以确保我编写的代码正确,但是异步方法根本没有被调用。有人能看到我做错了什么吗?顺便说一下,我正在使用.NET 4.0,所以我不能使用await(这将更加简单!)。
以下是我的整个测试样例...
using System;
using System.Threading;
namespace AsyncCallback {
internal class Program {
private static void Main(string[] args) {
Console.WriteLine(DateTime.Now.ToLocalTime().ToLongTimeString() + " - About to ask for stuff to be done");
new Action(DoStuff).BeginInvoke(ar => StuffDone(), null);
Console.WriteLine(DateTime.Now.ToLocalTime().ToLongTimeString() + " - Asked for stuff to be done");
}
private static void StuffDone() {
Console.WriteLine(DateTime.Now.ToLocalTime().ToLongTimeString() + " - Stuff done");
}
private static void DoStuff() {
Console.WriteLine(DateTime.Now.ToLocalTime().ToLongTimeString() + " - Starting to do stuff");
Thread.Sleep(1000);
Console.WriteLine(DateTime.Now.ToLocalTime().ToLongTimeString() + " - Ending doing stuff");
}
}
}
感谢您能够提供的任何帮助。
谢谢。
async
/await
在哪里? - spender