Вам необходимо включить настройку междоменной настройки для сигнала signalR, чтобы вызвать ее из других приложений.
appBuilder.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration()
{
EnableJSONP = true,
EnableDetailedErrors = true,
EnableJavaScriptProxies = true
};
map.RunSignalR(hubConfiguration);
});
Этот код можно найти в файле readme.txt мы получаем после установки пакета NuGet для SignalR. Для функции кросс-домена вам также необходимо установить пакет Cores nuget.
После развертывания этого приложения вы можете увидеть, что некоторые вызовы signalR терпят неудачу, а Some - успешно. По умолчанию количество экземпляров в службе «Надежный безгосударственный» равно -1. Таким образом, для службы будет создано несколько экземпляров.
От метода signaleR Connection.Start() будут вызываться три SingalR API. Эти вызовы должны выполняться в течение одного сеанса для правильной работы. Когда мы вызываем эти три API в Service Fabric с несколькими экземплярами, вызов может обрабатываться в разных узлах и, следовательно, разные сеансы, что приводит к сбою в синхронном соединении.
Одним из решений является создание экземпляра экземпляра 1 для приложения-службы состояния без состояния. Я не думаю, что это элегантное решение.
Почему вы создали 2 вопроса, которые почти одинаковы? Выберите один ... – Mikhail
Посмотрите на эту [объединительную плату] (http://stackoverflow.com/questions/39649027/setup-signalr-and-service-bus-inside-a-azure-service-fabric-service/40525730 # 40525730). Я был бы рад, если бы его помощь. – Venkatesh
Обратитесь к [link] (http://stackoverflow.com/questions/39649027/setup-signalr-and-service-bus-inside-a-azure-service-fabric-service/40525730#40525730). Был бы рад, если это сработает для вас. – Venkatesh