Я изучаю SignalR, но столкнулся с препятствием.
У меня есть функция Azure, которая успешно отправляет сообщения в размещенную службу Azure SignalR (настроена в режиме без сервера)
Я былпосле этого быстрого запуска:
Быстрый запуск: создание комнаты чата с функциями Azure и службой SignalR с использованием C #
Чего я хотел бы добиться, так это по сути получать сообщения от серверов вмое клиентское приложение.Для создания этого прототипа я создал консольное приложение.
Я добавил следующие пакеты Nuget
Microsoft.AspNetCore.SignalR.Client -Version 1.1.0 Microsoft.Azure.WebJobs.Extensions.SignalRService
Кажется, что вся инфраструктура работает нормально - я основываю это предположение, что я могу запустить демонстрационный веб-сайт по следующему адресу, указать его на свой локальный экземпляр (илимой экземпляр размещен в Azure) https://azure -samples.github.io / signalr-service-quickstart-serverless-chat / demo / chat-v2 /
Сообщения, опубликованные моей функцией AzureFunction, публикуютпрямо в окно чата.
Как заставить эти сообщения печатать на консоли?
using Microsoft.AspNetCore.SignalR.Client;
using Microsoft.Azure.WebJobs.Extensions.SignalRService;
using System;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey();
var connection = new HubConnectionBuilder().WithUrl("http://localhost:7071/api").Build();
connection.On<SignalRMessage>("newMessage", (message) =>
{
Console.WriteLine(message.Arguments);
});
connection.On("newMessage", (string server, string message) =>
{
Console.WriteLine($"Message from server {server}: {message}");
}
);
await connection.StartAsync();
Console.ReadKey();
}
}
}
Я сильно подозреваю, что моя проблема связана с
connection.On <...>
операторов.Они никогда не стреляют.Connection.StartAsync (), кажется, работает нормально и устанавливает соединение с экземпляром Azure SignalR.
Я упустил какой-то фундаментальный момент?Сейчас я просто мечусь.
Короче - может кто-нибудь дать мне указатель на ПОЛУЧЕНИЕ и ЗАПИСЬ сообщений в моем окне консоли - во многом так же, как сообщения печатаются в веб-браузере вдемонстрация веб-чата (см. вторую ссылку выше).
Сообщения - это простые широковещательные сообщения, которые я хочу передать всем подключенным клиентам.
Почти все примеры приведены в Javascript.
Заранее спасибо.