如何将任务工厂与我在c#中的现有代码一起使用

本文关键字:代码 一起 任务 工厂 | 更新日期: 2023-09-27 18:29:18

我有以下代码,可以使用带有ASP.NET的C#向手机发送短信。但由于这是一个漫长的过程,UI一直被卡住,直到过程结束。

所以我想把这个进程从UI线程中分离出来。我还是一个学习者,所以我做了一些研究,发现我可以用.Net Framework 4中的TaskFactory归档我想要的东西。

但是我仍然不太了解TaskFactory的用法。

foreach (DataRow row in dt.Rows)
{
    //Gets Subscriber number
    smsSender.destinationNum = Convert.ToInt64(row["callerID"]);
    foreach (DataRow articleRow in dtArticle.Rows)
    {
        //Gets SMS content
        smsSender.smsMessage = articleRow["news"].ToString();
        //Then send out the SMS
        smsSendder.sendSMS();
    }
}

上面的代码发送短信。我把它写在按钮点击事件中。我想归档的是-

  1. 将流程与UI分离,这样用户就不必等待。(使用也可以导航到其他页面)
  2. 检查任务的状态
  3. 必要时取消任务

如何将任务工厂与我在c#中的现有代码一起使用

您必须阅读一些内容才能理解用法。如果有人只是发布运行中的代码,你将不会真正理解或学习它

http://www.albahari.com/threading/part5.aspx#_Task_Parallelism

http://www.albahari.com/threading