Итак, это часть более крупного проекта, и я опубликовал небольшой тест, созданный мной для описания моей проблемы. Он отлично работает на одном компьютере в нескольких браузерах (одинаковых или разных браузерах). Но это не работает между разными компьютерами. Я думаю, что, возможно, я неправильно понимаю, как работает SignalR, и делаю глупую ошибку, потому что я в замешательстве!
Startup.cs:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
Hub:
public class VBMDataHub : Hub
{
public override Task OnConnected()
{
Clients.Others.broadcastConnected();
return base.OnConnected();
}
}
Javascript:
var conn = $.connection.vBMDataHub;
//SIGNALR START
$.connection.hub.start();
conn.client.broadcastConnected = function () {
console.log("ANOTHER USER HAS JUST CONNECTED");
};
Теперь все, что это делает, - когда кто-то зашел на эту страницу, он отправляет консольное сообщение всем остальным. Например, если я открою свою страницу в Chrome, а затем открою другую вкладку и перейду по тому же URL-адресу, первая страница получит это сообщение. И если я обновлю один, другой должен получить сообщение.
Это работает для нескольких компьютеров, которые я пробовал на каждой машине. Но он не обновляется для других подключений / компьютеров.
Я прошу прощения, если это действительно глупая вещь, которую я упустил, читая урок. Я чувствую, что, возможно, я делаю что-то совершенно не так и неправильно понимаю, как работает signalR.