Почему SignalR не может привязать здесь аргументы?C#

Место общения программистов C#
Anonymous
Почему SignalR не может привязать здесь аргументы?

Сообщение Anonymous »

Я работаю над приложением WPF (клиентом), которое вызывает методы SignalR с помощью драйвера .NET SignalR следующим образом:

Код: Выделить всё

private void TEST_button_Click(object sender, RoutedEventArgs e) {
Global.SignalR?.InvokeAsync("Ping").Wait();
Global.SignalR?.InvokeAsync("Ding", 123).Wait();
}
Концентратор SignalR работает в приложении ASP.NET Core и выглядит следующим образом:

Код: Выделить всё

public class ChatHub(ILogger logger) : Hub {
public async Task Ping() {
logger.LogInformation("Ping!");
await Clients.Caller.SendAsync("Pong");
}

public async Task Ding(int x) {
logger.LogInformation($"Ding! {x}");
await Clients.Caller.SendAsync("Dong");
}
}
При нажатии кнопки тестирования появляется сообщение «Ping!» Сообщение отображается в выходных данных отладки сервера и вскоре после сообщения «Pong!» сообщение отображается в выходных данных отладки клиента.
Затем клиент выдает исключение при попытке вызвать «Ding» с сообщением:

Не удалось вызвать «Ding» из-за ошибки на сервере. InvalidDataException: ошибка привязки аргументов. Убедитесь, что типы предоставленных значений соответствуют типам вызываемого метода концентратора.)

Вместо этого я ожидал, что сервер выведет «Дин! 123 " без сбоев.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ments-here

Вернуться в «C#»