none
SignalR и Web API - как подружить RRS feed

  • Вопрос

  • Хочу отправлять уведомления с помощью SignalR клиентской части, написанной также на ASP.NET MVC. Вот серверная часть:


    public class ProgressHub : Hub { public void Notification(string message) { Clients.Caller.onProgressNotification(message); } } private void SendMessage(string message) { var context = Microsoft.AspNet.SignalR .GlobalHost.ConnectionManager.GetHubContext<Hubs.ProgressHub>(); context.Clients.All.onProgressNotification(message); }

    затем вызываю этот метод SendMessage из метода контроллера:

    public async Task<IHttpActionResult> ZonalPost()
    {
        SendMessage("Start");
        // my long operation
        SendMessage("Scan complete");
        // my long operation
        SendMessage("Convert complete");
        // my long operation

    на клиентской части имею следующий код:

    <script src="~/Scripts/jquery.signalR-2.2.2.min.js"></script>
    <script src="~/signalr/hubs"></script>
    <script>
        $(function () {
            var progress = $.connection.progressHub;
    
            progress.client.onProgressNotification = function (message) {
                console.log(message);
            };
        });

    при этом получаю ошибку:

    430 Uncaught TypeError: Cannot read property 'client' of undefined

    как сделать правильно?

Ответы

Все ответы