Прежде всего, этот вопрос не является дубликатом. Я нашел этот вопрос и этот ответ . Но это не решило мою проблему. Я пытался принять разрешение. Кажется, принято на API. Но приложение застряло в загрузке. Потому что у меня есть проблема, чтобы получить ответ от веб-API. Я ставлю точки останова. Но он не попадает ни в одну строку после SendAsync или PutAsync и исключений / ошибок. Он протестирован на почтальоне и вернул 200. Этот API-интерфейс также используется для веб-проекта, и он отлично работает.
Этот код работал раньше:
public async Task AcceptPermission(string Id)
{
try
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
var request = new HttpRequestMessage(HttpMethod.Put, BaseAddress + "leave/response/" + Id + "/Accepted");
var response = await client.SendAsync(request);
var jsonResp = response.Content.ReadAsStringAsync().Result;
}
catch (Exception ex)
{
...
}
}
Я попробовал это, взяв ссылку на другие вопросы:
- Изменен базовый адрес http на https
- Удалено. Результат из ответа
- Добавлено ConfigureAwait (false)
Я изменил свой код с этим и тоже не работал:
public async Task<string> AcceptPermission(string Id)
{
try
{
string uri = BaseAddress + "leave/response/" + Id + "/Accepted";
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
HttpContent content = new StringContent(JsonConvert.SerializeObject(Id), Encoding.UTF8, "application/json");
var response = await client.PutAsync(uri, content).ConfigureAwait(false);
if (response.IsSuccessStatusCode)
{
...
}
else
{
...
}
}
catch (Exception ex)
{
...
}
}
Я не понимаю, что я не так сделал? Любая помощь очень полезна. Спасибо за вашу помощь.