如何将任务工厂与我在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();
}
}
上面的代码发送短信。我把它写在按钮点击事件中。我想归档的是-
- 将流程与UI分离,这样用户就不必等待。(使用也可以导航到其他页面)
- 检查任务的状态
- 必要时取消任务
您必须阅读一些内容才能理解用法。如果有人只是发布运行中的代码,你将不会真正理解或学习它
http://www.albahari.com/threading/part5.aspx#_Task_Parallelism
http://www.albahari.com/threading