我想從Windows服務調用Rest API。我從來沒有嘗試過。我不知道爲什麼我不能打這個電話。如何從Windows服務調用REST API
我的代碼:
string urlParameter = "posts/1";
var client = new HttpClient();
client.BaseAddress = new Uri("http://jsonplaceholder.typicode.com/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync(urlParameter).Result;
if (response.IsSuccessStatusCode)
{
var dataObj = response.Content.ReadAsAsync<IEnumerable<MyType>>().Result;
}
我收到以下錯誤:
消息:發送請求時發生錯誤。
內部異常消息:{ 「基礎連接已關閉:該 連接被意外關閉」}
內部異常堆棧跟蹤在 System.Net.HttpWebRequest.EndGetResponse(IAsyncResult的asyncResult)
在System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult的 AR)
被上下面的行生成此錯誤:
HttpResponseMessage response = client.GetAsync(urlParameter).Result;
任何意見,將不勝感激。
編輯:(更新後的代碼)
string urlParameter = "posts/1";
var client = new HttpClient();
client.BaseAddress = new Uri("http://jsonplaceholder.typicode.com/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
//var response = await client.GetAsync(urlParameter);
var task = client.GetAsync(urlParameter);
task.Wait();
var response = task.Result;
if (response.IsSuccessStatusCode)
{
var dataObj = response.Content.ReadAsAsync<IEnumerable<MyType>>().Result;
}
}
catch (Exception ex)
{
string a = ex.Message;
string b = ex.ToString();
}
編輯2:這裏(仍然得到同樣的錯誤)
private static async void TestAPI2()
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Get", "application/json");
var response = await client.GetAsync("http://jsonplaceholder.typicode.com/posts/1");
string context = await response.Content.ReadAsStringAsync();
}
}
嘿,SOZ我錯過了聊天請求早些時候,聽起來像你到達那裏,我通常掛在c#聊天室,如果你需要在HTTP有這方面的更多幫助,流行://聊天.stackoverflow.com/rooms/7/c – War