В моем приложении возникают проблемы с принятием рукопожатия примерно половину времени в моей производственной среде. На моем локальном компьютере и в моей промежуточной среде, которая аналогична рабочей, она работает каждый раз.
Это приложение. Net Core 2.1, использующее как pnet -signalr / 1.1.4
Я не настраиваю SignalR для использования каких-либо особенностей в моем запуске.
app.UseSignalR(routes => { routes.MapHub<PortfolioHub>("/loadpagedetailsjob"); });
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Dashboard}/{action=Index}/{id?}");
});
мой PortfolioHub - это просто прямая реализация класса Hub
и на моей странице
var connection = new signalR.HubConnectionBuilder()
.withUrl('/loadpagedetailsjob')
.configureLogging(signalR.LogLevel.Information)
.build();
connection.start().then(function () {
connection.invoke("Subscribe");
});
![enter image description here](https://i.stack.imgur.com/BIlJO.png)
Похоже, что он пытается согласовать веб-сокет, затем длительный опрос и оба сбоя. Но запросы возвращаются 200
![enter image description here](https://i.stack.imgur.com/J758h.png)
Так как это происходит только иногда, у меня возникают проблемы, решающие проблему. Мое единственное подозрение на данный момент заключается в том, что моя среда находится в AWS за балансом нагрузки, что запросы согласования направляются на разные серверы, которые могут вызвать проблему?
Любая помощь приветствуется.