Как использовать разные строки подключения для службы Azure SignalR в приложениях-функциях? - PullRequest
1 голос
/ 06 августа 2020

Хорошо, у нас есть несколько сервисов signalR, и мы хотим, чтобы при развертывании нашего кода строка подключения выбиралась из нашего настраиваемого файла конфигурации, а не из параметров приложения функции.

Это функция переговоров. См. Атрибут «SignalRConnectionInfo».

[FunctionName("negotiate")]
public IActionResult negotiate(
[HttpTrigger(AuthorizationLevel.Function, "post")]
HttpRequest req,
[SignalRConnectionInfo(HubName = HubName, ConnectionStringSetting = **"Cannot pass dynamic connection string here as it requies a constant"**)]
SignalRConnectionInfo connectionInfo )
{
           
}

мы пробовали добавить его в Startup.cs

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        IConfigurationRoot config;
       
        builder.Services.AddSignalR().AddAzureSignalR(config["SignalrConnectionString"]);
 
    }
}

, но это не работает. так как выдает ошибку

Invalid host services. Microsoft. Azure .WebJobs.Script.WebHost: следующие регистрации службы не соответствуют ожидаемым службам: [Invalid] ServiceType: Microsoft.Extensions.Hosting.IHostedService, Lifetime: Singleton, ImplementationType: Microsoft. Azure .SignalR. Значение HeartBeat не может быть нулевым. Имя параметра: provider

Итак, есть ли другой способ использовать его в функции?

...