是否可以使用httpclient在ASMX WebMethod中調用REST服務? httpclient庫是異步的,因爲asmx不支持異步等待(TAP),我使用.Result強制呼叫同步。但是,這次httpclient無法成功調用,並且我得到遠程服務器主動拒絕連接錯誤。如果我在win窗體應用程序中使用async await或.Result運行同一段代碼,它可以正常工作。在asmx webmethod中使用httpclient
這是ASMX WebMethod的問題嗎?
[WebMethod]
public void Get(){
//Sample (off the top of my head)
HttpClient client = new HttpClient();
//more code
Task.Run(()=> client.GetDocument()).Result;
}
感謝
HttpClient的客戶=新的HttpClient(); var tt = Task.Run((()=> client.GetAsync(「http://immanuel.co」))。 - 變量tt現在包含響應及其完全同步 – Immanuel
@Immanuel,你已經完成了兩件你不應該在Asp.Net中做的事情 - '.Result'和'Task.Run()'。 [不要阻止異步代碼](https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html) – Crowcoder