Как я вызов JavaScript из masterpage из signalrhub из отделенного кода
У меня было веб-приложение с главной страницей, и мне нужно показать предупреждение всем подключенным пользователям моего приложения. Я использовал класс запуска Owin и сопоставил сигнал R
Может ли кто-нибудь подсказать мне этот вопрос
Что я уже пробовал:
Затем создал хаб, как показано ниже
namespace ArtWebApp { [HubName("artHub")] public class ArtWebHub : Hub { public void Hello() { Clients.All.hello(); } public void SayMessage() { this.Clients.All.showmessage(); } } }
Затем на главной странице я добавил Javascript, как показано ниже
<script src="Scripts/jquery-1.6.4.js"></script> <script src="Scripts/jquery.signalR-2.2.1.js"></script> <script type="text/javascript"> $(function () { debugger; var connection = $.hubConnection("") var hub = connection.createHubProxy('artHub'); hub.on('showmessage', function () { alert('Hi'); }); connection.start().done(); //connection.start(function () { // hub.invoke('SayMessage'); //}); }); </script>
Это прекрасно работает, когда метод концентратора вызывается с той же страницы, но когда я попытался вызвать метод из кнопки щелчка страницы, он не работает
protected void Button1_Click(object sender, EventArgs e) { var hubContext = GlobalHost.ConnectionManager.GetHubContext<ArtWebApp.ArtWebHub>(); hubContext.Clients.All.SayMessage(); }