Я пытаюсь вызвать Rest API из службы Windows. Я никогда этого не делал. Я не уверен, почему я не могу сделать этот звонок.Как вызвать REST API из службы Windows
Мой код:
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 ар)
Эта ошибка генерируется на следующей строке:
HttpResponseMessage response = client.GetAsync(urlParameter).Result;
Любые предложения будут оценены.
EDIT: (Обновлено код)
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();
}
EDIT 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();
}
}
Эй, Соз я пропустил запрос чата раньше, звучит, как вы получаете там, я обычно тусуюсь в C# чатов, если вам нужна дополнительная помощь по этому вопросу, поп в HTTP: //. Чат .stackoverflow.com/rooms/7/c – War