Я столкнулся с некоторыми проблемами с CORS при настройке клиентского API клиента Blazor для выполнения запросов. Я думаю, что нашел решение для этого, но решение также выдает ошибки.
Основная ошибка: «WASM: System.Net.Http.HttpRequestException: TypeError: Не удалось выполнить« выборку »в« Окне »': Предоставленное значение' 2 'не является допустимым значением перечисления типа RequestCredentials. "
код
string link = API_RequestLoginTokenEndPoint;
Http.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample");
Http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", "basic:testuser:testpassword");
var requestMessage = new HttpRequestMessage(new HttpMethod("GET"), link);
requestMessage.Properties[WebAssemblyHttpMessageHandler.FetchArgs] = new
{
credentials = FetchCredentialsOption.Include
};
var response = await Http.SendAsync(requestMessage);
var responseStatusCode = response.StatusCode;
var responseBody = await response.Content.ReadAsStringAsync();
output = responseBody + " " + responseStatusCode;
Я также попытался изменить сообщение запроса на: var requestMessage = newHttpRequestMessage (HttpMethod.Get, ссылка);
В случае, если это был ENUM, на который ссылалась ошибка. В Startup ConfigureServices я попытался добавить: WebAssemblyHttpMessageHandler.DefaultCredentials = FetchCredentialsOption.Include;
Я использую предварительный просмотр Blazor 9. Я также попытался добавить некоторый код CORS в мой PHP-скрипт на маршруте API, который должен принимать все источники, но последний вопрос, который я написал, мне сказали использовать этот метод для решения проблемы с CORS, которая теперь дает мне новую ошибку.
Я что-то делаю неправильно или я что-то упускаю? Ошибка в браузере обычно указывает на строку с асинхронным запросом: var response = await Http.SendAsync (requestMessage);