簡體   English   中英

ASP.NET MVC Web API異步請求結果

[英]Asp.net mvc web api async request result

我有一個Web API控制器動作,該動作將請求發送到另一台服務器並獲取圖像。

public class MyController : ApiController
{ 
   public async Runner<HttpResponseMessage> Wms()
   {
       return await Run();                                    
   }

   private Task<HttpResponseMessage> Run()
   {
       HttpRequestMessage requestMessage = new HttpRequestMessage();
       requestMessage.RequestUri = "http://....";

       foreach (var header in this.Request.Headers)
          requestMessage.Headers.Add(header.Key, header.Value);

        return requestMessage.SendAsync();
   }
}

如何獲取requestMessage.SendAsync()異步請求結果

您需要將async修飾符添加到方法中,然后await SendAsync()

private async Task<HttpResponseMessage> RunAsync()
{
   HttpRequestMessage requestMessage = new HttpRequestMessage();
   requestMessage.RequestUri = "http://....";

   foreach (var header in this.Request.Headers)
      requestMessage.Headers.Add(header.Key, header.Value);

   HttpResponseMessage response = await requestMessage.SendAsync();
   string resultData = await response.Content.ReadAsStringAsync();
}

或者,如果您想在Wms進行響應,則可以await

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM