我正在使用SMS web service panel
。在controller action HttpPost
中,我调用了一种发送短信的方法。我想同时运行此功能,但我不想使用async thread
。因为第一种方法是暂停。发送短信并不重要,如果无法连接短信网络服务,我不想暂停主要操作。我怎样才能同时运行这两种方法?
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult ServicesRes(FormCollection collection)
{
.
.
.
sendSMS();
....
return Json(result, JsonRequestBehavior.AllowGet);
}
[UPDATE]
我试过异步但不行
主要行动:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult ServicesRes(FormCollection collection)
{
.
.
.
await sendSMS();
....
return Json(result, JsonRequestBehavior.AllowGet);
}
//发送短信
private async Task sendSMS()
{
...
await Task.FromResult(0);
}
答案 0 :(得分:3)
你需要在这里使用一种异步编程,例如这段代码运行一个线程而不会阻止当前执行。
System.Threading.Tasks.Task task = new Task(()=>
{
sendSMS();
});
task.Start();
在c#中你也可以使你的sendSMS异步。例如像这样
public async Task sendSMS()
{
return;
}