[英]Debugging WebApi in Visual Studio returns no response to MVC app
我在同一解決方案中有一個WebApi和MVC5應用程序。 當我調試這些時,MVC5應用程序會調用WebApi,但是它沒有收到任何響應。
通過控制台應用程序而不是MVC5應用程序使用完全相同的代碼和數據,然后響應恢復正常。
在mvc應用程序中,永遠不會返回HTTP響應。 我已經調試了代碼,並且調用進入了Web-api。
我正在使用的代碼類似於下面的代碼,在這里我稱為DoMyPost()。 HttpClient.PostAsJsonAsync(url,model);等待未返回任何響應;
public MyModel DoMyPost(ModelIN model)
{
return PostAsJsonAsync("url", model).Result;
}
protected async Task<MyModel> PostAsJsonAsync(string url, ModelIN model)
{
var response = await HttpClient.PostAsJsonAsync(url, model);
return await ReadMyModel(response);
}
關於可能出了什么問題的任何想法?
我在Windows 8機器上。
===編輯
我同時啟動了MVC5和Web-api應用程序,我調試了MVC 5應用程序,並看到它通過上面概述的代碼進行了調用。在Web-api中命中了斷點,我可以逐步執行,直到響應為產生。
然后,MVC 5應用程序處於等待狀態,並且從未出現任何響應。
我已經用控制台應用程序替換了MVC5應用程序,它收到了很好的響應。
謝謝
==修復
將代碼更改為以下可解決此問題
public MyModel DoMyPost(ModelIN model)
{
var response = await HttpClient.PostAsJsonAsync(url, model).Result;
return ReadMyModel(response).Result;
}
protected async Task<MyModel> PostAsJsonAsync(string url, ModelIN model)
{
var response = await HttpClient.PostAsJsonAsync(url, model);
return await ReadMyModel(response);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.