Я создал простой тестовый проект Blazor «Список дел», и все это отлично работает на моей локальной машине для разработки.
Он также отлично работает, опубликован на моем общем хостинге Windows, кроме PUT, что заставляет меня подозревать некоторые проблемы с PUT на общем хостинге.
Он построен с ядром 3.1 и хостинговая компания говорит, что также установлено последнее ядро.
Когда я использую форму обновления и нажимаю кнопку Отправить, я получаю следующую ошибку на живом виртуальном хостинге: -
blazor.server.js:15 [2020-02-27T17:35:53.024Z] Error: System.Net.Http.HttpRequestException: Response status code does not indicate success: 400 (Bad Request).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Microsoft.AspNetCore.Components.HttpClientJsonExtensions.SendJsonAsync[T](HttpClient httpClient, HttpMethod method, String requestUri, Object content)
at BLAZORTODO.Components.TaskEntryListComponent.AddTaskEntryForm() in C:\Users\thepc\source\repos\BLAZORTODO\Components\TaskEntryListComponent.razor:line 257
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.Forms.EditForm.HandleSubmitAsync()
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
Как я скажем, это влияет только на живой виртуальный хостинг - на локальном устройстве все в порядке на 100% p c.
Строка, прокомментированная ниже, выдает ошибку, из-за которой я могу подозревать некоторые проблемы с PUT на виртуальном хостинге? : -
// Add/Update Task Entry
protected async Task AddTaskEntryForm()
{
if (tmpid == "0")
{
await Http.SendJsonAsync(HttpMethod.Post, "/api/TaskEntry/AddTask/", tObj);
NavigationManager.NavigateTo("/", true);
}
else
{
// THIS FOLLOWING LINE THROWS THE ERROR :-
await Http.SendJsonAsync(HttpMethod.Put, "/api/TaskEntry/UpdateTask/" + tObj.Guid, tObj);
NavigationManager.NavigateTo("/", true);
}
showForm = false;
showList = true;
}
Есть ли что-то действительно очевидное, чего мне не хватает?