async void GetLieu(string place)
{
ShowProgressDialogue("Récupération des données...");
string MonURL = "https://hubeau.eaufrance.fr/api/v1/hydrometrie/referentiel/stations";
string url = MonURL + "?code_departement = " + place;
var handler = new HttpClientHandler();
HttpClient client = new HttpClient(handler);
string result = await client.GetStringAsync(url);
Console.WriteLine(result);
var resultObjet = JObject.Parse(result);
привет, У меня есть проблема, которую я не могу решить. Я не могу адаптировать свой код, чтобы предотвратить его сбой на уровне:
ожидайте client.GetStringAsync (url);
у которого было бы решение без изменения: async void GetLieu (string place))?
Я принимаю любую информацию. заранее спасибо.
Проблема решена?
моя проблема изменить «void» на «Task» «У меня проблема с моим «GetLieu (место)», которое больше не работает. Я новичок в этом языке, но я понимаю ...
@michael, мой ответ был обновлен в соответствии с вашим последним комментарием.
Ссылка на ваш последний комментарий:
Попробуйте этот код:
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace StackOverflowWebClientQuestionAnswer
{
public class ExternalService
{
public async Task<string> DownloadHomepage(string place)
{
string MonURL = "https://hubeau.eaufrance.fr/api/v1/hydrometrie/referentiel/stations";
string url = MonURL + "?code_departement = " + place;
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) " +
"AppleWebKit/537.36 (KHTML, like Gecko) " +
"Chrome/58.0.3029.110 Safari/537.36");
var resultat = await httpClient.GetStringAsync(new Uri(url));
return resultat;
}
}
}
}
как это назвать (пример)?!
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
namespace StackOverflowWebClientQuestionAnswer.Controllers
{
[ApiController]
[Route("[controller]")]
public class Resultat : ControllerBase
{
[HttpGet]
public async Task<IActionResult> GetResultat()
{
ExternalService external = new ExternalService();
string resultat = await external.DownloadHomepage("971");
return Ok(resultat);
}
}
}
Полученные результаты:
принцип хороший но не работает, у вас есть немного альтернативы?
@michael, как это не сработало, объясните, пожалуйста, и если есть сообщение об ошибке, укажите его, пожалуйста.
привет, я изменил свой код, он все еще не работает. вы можете сказать мне, если вы видите проблему? как только я нажимаю активировать, приложение закрывается.
Привет @michael, мой ответ был обновлен в соответствии с вашим последним комментарием.
@michael, дайте мне знать, если это сработало с вами, если нужно, я могу загрузить для вас полноценный пример API.
теперь он работает, я также удалил в конфигурации «сжатие кода» и как это работает. БОЛЬШОЕ СПАСИБО за вашу помощь и потраченное на помощь мне время!!! Я должен признать, что вы очень сильны в этой области ... спасибо
@michael Не беспокойтесь, рад помочь вам, вы можете пометить ответ как принятый?
Добро пожаловать в Stack Overflow. Пожалуйста, пройдите тур , чтобы узнать, как работает Stack Overflow, и прочитайте How to Ask о том, как улучшить качество вашего вопроса. Затем отредактируйте свой вопрос, чтобы включить полный исходный код, который у вас есть, в качестве минимального воспроизводимого примера, который может быть скомпилирован и протестирован другими. Включите сообщение об ошибке/исключении, которое вы получаете, и/или проблему, с которой вы столкнулись, в свой вопрос.