#c# #windows #web #uwp #httpclient
#c# #Windows #веб #uwp #httpclient
Вопрос:
Вот где это работает:
public class ThisWorks : IPortableHttpClient
{
private Windows.Web.Http.HttpClient client;
async public Task<Windows.Web.Http.HttpResponseMessage> GetAsync(Uri url)
{
return await client.GetAsync(url);
}
И это не работает, и я не понимаю, почему:
public class DoesntWork : IPortableHttpClient
{
private Windows.Web.Http.HttpClient client;
async public Task<Windows.Web.Http.HttpResponseMessage> GetAsync(Uri url)
{
return await client.GetAsync(url);
}
При этом выдается сообщение об ошибке: await client.GetAsync(url)
И сообщение об ошибке таково: ‘IAsyncOperationWithProgress’ не содержит определения для ‘GetAwaiter’ и не удалось найти метод расширения ‘GetAwaiter’, принимающий первый аргумент типа ‘IAsyncOperationWithProgress’ (вам не хватает директивы using для ‘System’)?
Если это имеет значение, вот IPortableHttpClient:
public interface IPortableHttpClient
{
Task<HttpResponseMessage> GetAsync(Uri url);
}
Еще одна информация, которая может быть полезной: код, в котором это работает, находится во фреймворке UWP. Это не работает в .NET framework.
Ответ №1:
Я использовал неправильное пространство имен.
Мне пришлось изменить Windows.Web.Http
на System.Net.Http