Я немного смущен тем, как мое консольное приложение подключается к Azure SignalR Server для получения уведомлений, которые я отправляю через свое приложение веб-API ASP.NET Core.
При запуске своего API я делаю то, что нужно:
services.AddSignalR().AddAzureSignalR();
app.UseAzureSignalR(routes =>
{
routes.MapHub<NotificationHub>("/notifications");
});
Метод AddAzureSignalR () подключается к серверу Azure SignalR через определенную мной строку подключения в моих настройках приложения.
Но, как я видел на многих примерах, чтобы подключиться к моему консольному приложению, мне нужно сделать следующее:
var connectionBuilder = new HubConnectionBuilder()
.WithUrl("http://localhost:5000/notifications")
.Build();
await connectionBuilder.StartAsync();
connectionBuilder.On<string, string>("broadcastNotification", (name, message) =>
{
Console.WriteLine($"Name: {name}, Message: {message}");
});
По каким причинам мое консольное приложение подключается к серверу Azure SignalR через мой API, а не напрямую? Безопасность или дизайн?