2017-08-30 138 views
-1

我有這個c#控制器通過字符串接收作爲輸入執行不同的SQL函數。從同步切換到異步aps.net API控制器

public HttpResponseMessage GetFunction(string SQLstring) 
    { 
      HttpResponseMessage response = new HttpResponseMessage() 
      { 
       Content = new StringContent(SQLFunctions.SQLsyncFunctionGet(SQLstring), System.Text.Encoding.UTF8, "application/json") 
      }; 

      return response; 
    } 

我試圖重建它在異步方法:

首先我更改SQL同步功能沒有任何問題,以異步:

public async Task<string> SQLasyncFunctionGET(string SQLString) 

如何改變GetFunction類在我構建的Web API中激活它?

public async Task<IHttpActionResult> GetFunction(string SQLString) 
{ 
var content = await ??????????????? 
return ok(content); 
} 

將受到歡迎。

回答

0

我不太熟悉這個堆棧,所以我不記得你是否可以返回任務< HttpResponseMessage>或不。但如果可以的話,這應該可以工作:

public async Task<HttpResponseMessage> GetFunction(string SQLstring) 
{ 
     HttpResponseMessage response = new HttpResponseMessage() 
     { 
      Content = new StringContent(await SQLFunctions.SQLsyncFunctionGet(SQLstring), System.Text.Encoding.UTF8, "application/json") 
     }; 

     return response; 
}