Как отправлять сообщения SignalR в функции Azure (используя Redis в качестве объединительной платы) - PullRequest
0 голосов
/ 10 марта 2020

Мы пытаемся перенести некоторые конечные точки HTTP из простой старой Azure Службы приложений (A) в Azure Функции. Но мы все же хотим сохранить большинство наших конечных точек в другой службе приложений (B).

Служба приложений B содержит конечную точку SignalR для наших клиентов. Прямо сейчас (с прежней Службой приложений A) мы используем Redis в качестве объединительной панели, когда Служба A должна отправлять SignalR-уведомления клиентам через Службу B.

Мы хотели сохранить эту объединительную панель Redis, поэтому мы добавили этот код в нашу Startup.cs в новой Azure функции:

services
   .AddSignalR()
   .AddRedis("<redisConnectionString>")

(используя Microsoft.AspNetCore.SignalR 1.1.0 и Microsoft.AspNetCore.SignalR.Redis 1.1.5)

проблема в том, что после того, как мы добавили этот код, все наши триггерные функции HTTP перестали работать и вернули код состояния HTTP 401, даже такие простые функции, как:

public class PingFunctions
    {
        [FunctionName("Ping")]
        public async Task<IActionResult> CallPing(
            [HttpTrigger(
                AuthorizationLevel.Anonymous,
                "get",
                Route = null)] HttpRequest req)
        {
            return new JsonResult(
                new { Count = 10 },
                DefaultSettings.JsonSerializerSettings);
        }
    }

Кто-нибудь может помочь? (Прямо сейчас «просто использовать Azure SignalR-Service» не считается полезным)

...