如何在c#中使用现有代码使用任务工厂?

时间:2012-03-28 09:17:00

标签: c# asp.net

我有以下代码使用C#和ASP.NET向手机发送短信。但由于它是漫长的过程,因此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. 如果必要,取消任务。

1 个答案:

答案 0 :(得分:0)

你必须做一些阅读才能理解其用法。如果有人发布了正在运行的代码,你就不会真正理解也不会学习它。

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

http://www.albahari.com/threading