2017-05-25 66 views
0

我有一個ASP.NET MVC 5應用程序收集信息並將其保存到數據庫。在保存之後,在我從此操作返回視圖之前,我想發送一個GET請求(帶有字符串參數)到Web API以觸發額外的處理工作。額外的處理將是一個長期運行的任務,我不會等待迴應。如何從控制器操作中觸發Web API?

如何觸發API並繼續返回視圖而不等待GET請求的響應?

下面是方法,從中我希望能觸發API簽名:

public async Task<ActionResult> XYZ(XYZViewModel model) 
{ 
    // 
    // Saving data to db... 
    // 

    <-- Trigger API here --> 

    return View("XYZResult", vm); 
} 
+0

叫它不要等待它。火和忘記 – Nkosi

回答

0
using RestSharp; 



    public Task TriggerAPIAsync(XYZViewModel model) 
    { 

     RestClient client = new RestClient(); 
     client.BaseUrl = new Uri("API_URL"); 

     RestRequest request = new RestRequest(); 

     request.AddParameter("param_name", "value"); 
     .... 
     request.AddParameter("param_name", "value"); 


     request.Method = Method.POST/GET; 
     client.Execute(request); 

     return Task.FromResult(0); 
    } 

然後調用它

public ActionResult XYZ(XYZViewModel model) 
{ 
    // 
    // Saving data to db... 
    // 

    APIAsync(model); 

    return View("XYZResult", vm); 
} 
相關問題