У меня создан экземпляр AzureSignalR и 2 клиентских приложения. Одним из них является приложение MVC5, .Net 4.7.2, а другим - .Net Core 2.2. Я создал идентичный SignalR Hub в обоих, который просто
public class MessageHub : Hub
{
public void Send(ApplicationEvent evt)
{
// broadcastMessage must be a javascript method on the client
Clients.All.broadcastMessage(evt);
}
}
и реализовал необходимый javascript на обоих. У меня проблема в том, что хотя сообщения могут отправляться и приниматься каждым приложением в отдельности, они не получают сообщения, созданные другим.
Я вижу небольшую разницу в запросе к службе AzureSignalR вчто значения в параметре asrs.op разные, т.е.
MVC5
https://<redacted>.service.signalr.net/aspnetclient/negotiate?clientProtocol=2.1&_=1572008814078&asrs_request_id=1tgsLXwGAAA%3D&asrs.op=%2Fsignalr&connectionData=%5B%7B%22name%22%3A%22messagehub%22%7D%5D
.Net Core
https://<redacted>.service.signalr.net/client/negotiate?hub=messagehub&asrs.op=%2Fmessagehub&asrs_request_id=NmhXZHcGAAA%3D
, и мне было интересно, если это было причиной, но яЯ не вижу способа изменить имя оператора MVC5, как оно выведено.
Очевидно, что мы будем обновлять приложение MVC5 на каком-то этапе, так что это было бы идеально в промежуточный период.