我正在尝试编写一段非常简单的异步代码。我有一个不带任何参数的 void 方法,该方法将从 Windows 服务中调用。我想将它从异步中启动,这样服务就不必等待方法完成。
我创建了一个非常简单的测试应用程序,以确保我正确地进行了编码,但是没有调用异步方法。任何人都能够看到我做错了什么?顺便说一句,我使用的是 .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");
}
}
}
谢谢你提供的所有帮助。