第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

HttpClient.GetAsync(…)使用等待/異步時(shí)永不返回

HttpClient.GetAsync(…)使用等待/異步時(shí)永不返回

婷婷同學(xué)_ 2019-07-08 15:08:44
HttpClient.GetAsync(…)使用等待/異步時(shí)永不返回我在.NET 4.5中使用System.Net.Http.HttpClient遇到了一些奇怪的行為,其中“等待”調(diào)用(例如)的結(jié)果。httpClient.GetAsync(...)再也不會(huì)回來(lái)了。這種情況只有在使用新的異步/等待語(yǔ)言功能和任務(wù)API時(shí)才會(huì)發(fā)生-當(dāng)只使用連續(xù)時(shí),代碼似乎總是有效的。下面是一些再現(xiàn)問(wèn)題的代碼-將其放到VisualStudio 11中的一個(gè)新的“MVC 4 WebApi項(xiàng)目”中,以公開(kāi)以下GET端點(diǎn):/api/test1/api/test2/api/test3/api/test4/api/test5 <--- never completes/api/test6這里的每個(gè)端點(diǎn)都返回相同的數(shù)據(jù)(stackoverflow.com中的響應(yīng)頭),但/api/test5永遠(yuǎn)不會(huì)結(jié)束。我是否在HttpClient類中遇到了一個(gè)bug,或者我是否在某種程度上誤用了API?復(fù)制代碼:public class BaseApiController : ApiController{     /// <summary>     /// Retrieves data using continuations     /// </summary>     protected Task<string> Continuations_GetSomeDataAsync()     {         var httpClient = new HttpClient();         var t = httpClient.GetAsync("http://stackoverflow.com", HttpCompletionOption.ResponseHeadersRead);         return t.ContinueWith(t1 => t1.Result.Content.Headers.ToString());     }     /// <summary>     /// Retrieves data using async/await     /// </summary>     protected async Task<string> AsyncAwait_GetSomeDataAsync()     {         var httpClient = new HttpClient();         var result = await httpClient.GetAsync("http://stackoverflow.com", HttpCompletionOption.ResponseHeadersRead);         return result.Content.Headers.ToString();     }}public class Test1Controller : BaseApiController{     /// <summary>     /// Handles task using Async/Await     /// </summary>     public async Task<string> Get()     {         var data = await Continuations_GetSomeDataAsync();         return data;     }}public class Test2Controller : BaseApiController{     /// <summary>     /// Handles task by blocking the thread until the task completes     /// </summary>     public string Get()     {         var task = Continuations_GetSomeDataAsync();         var data = task.GetAwaiter().GetResult();         return data;     }}
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 6933 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)