Blazor PUT в функции обновления идеально подходит для локального разработчика, но не работает на живом виртуальном хостинге - PullRequest
0 голосов
/ 27 февраля 2020

Я создал простой тестовый проект 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;

}

Есть ли что-то действительно очевидное, чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...