2017-05-25 67 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); 
} 
相关问题