При публикации сообщений от клиента к серверу в веб-приложении Blazor на стороне сервера.
Я создал два простых класса в общей библиотеке:
public class CommandRequest
{
public int RequestNumber { get; set; }
}
public class CommandResponse
{
public int ResponseNumber { get; set; }
}
Мой код на стороне клиента:
@if (response == null)
{
<p>Loading...</p>
}
else
{
<p>@response.ResponseNumber</p>
}
@functions {
CommandResponse response;
protected override async Task OnInitAsync()
{
var request = new CommandRequest() {RequestNumber = 3};
response = await Http.SendJsonAsync<CommandResponse>(HttpMethod.Post,"api/SampleData/ProcessRequest", request);
}
}
Мой обработчик запросов на стороне сервера:
[HttpPost("[action]")]
public CommandResponse ProcessRequest(CommandRequest request)
{
return new CommandResponse() { ResponseNumber = request.RequestNumber * 2 };
}
Когда я отлаживаю это, метод ProcessRequest всегда передает пустой объект, request.RequestNumber равен 0. Я новичок вASP.NET и Blazor, что я делаю не так?