SignalR, вызывающий клиентский метод извне хаба с использованием GlobalHost.ConnectionManager.GetHubContext, не работает. Но звонить изнутри

я пытаюсь вызвать клиентский метод из действия контроллера .net Web API.

Я могу это сделать?

Единственный пост, который я могу найти, который приближается к тому, что я собираюсь сделать, это этот:

SignalR + отправка сообщения в Hub с помощью метода действия

Там сообщение отправляется изнутри действия контроллера MVC asp.net с использованием GlobalHost.ConnectionManager.GetHubContext.

Когда я пытаюсь сделать это в своем действии Web API, ошибки не выдаются, но методmethodInJavascript» никогда не вызывается на стороне клиента.

    Public ActionResult MyControllerMethod()
    {
        var context = GlobalHost.ConnectionManager.GetHubContext();
        context.Clients.All.methodInJavascript("hello world");
        // or
        context.Clients.Group("groupname").methodInJavascript("hello world");
    }

Когда я устанавливаю точку останова внутри этого действия, я вижу, что код достигается и выполняется. Ничего не происходит на стороне клиента JavaScript, хотя.

Зачем? Является ли веб-API настолько отличным, что это победило?т работаешь? Кто-нибудь еще пробовал это и имел успех?

Когда я называюmethodInJavascript» от "в" мой хаб, работает отлично. Только что выигралне работает при вызове из действия контроллера .net Web API.

ОБНОВИТЬ:

После исследования этой проблемы у меня нет решения. Я могу только предположить, что чего-то не хватает в подобных примерахСообщения от сервера к клиенту, не проходящие через SignalR в ASP.NET MVC 4 и этовызов концентратора SignalR из-за проблем с контроллером WebAPI например, может быть, есть дополнительный шаг настройки для включения вызова из HubContext или чего-то еще. Код, который я первоначально разместил здесь, похож на тот, который показан в этих примерах, и не продемонстрировал никаких недостатков. Кто-нибудь может увидеть недостаток в коде? Звонок из html работает. Я активно использую это в своих приложениях и никогда не сталкиваюсь с проблемой. Я никогда не видел вызов от HubContext в работе контроллера API. Нет ошибок Просто нет результатов на клиенте.

Решено (вид):

Код выше действительно работает как естькогда опубликовано, Не работает в среде разработки Visual Studio через localhost, хотя. Нет ошибок, но нет результата на стороне клиента. Публикация кода на реальном сервере в сети действительно работает. Я никогда не думал тамбудет разница, поэтому я никогда не пытался. Понял, если бы нене будет работать на месте, это не будетРабота опубликована. Это'сейчас живу, а ямне интересно, почему это не такработать через localhost в среде разработчика. Можно'локально проверить с точками останова и тому подобное.

Я чувствую этоЭто виртуальный каталог сигнализатора. Что-то другое, когда запускается локально против опубликованных. Не уверен, что, но я вижу много сообщений, какhttp://www.bitwisejourneys.com/signalr-hosting-in-iis-a-nasty-gotcha/, Читая сейчас, чтобы увидеть, есть лиспособ заставить это работать и локально и издано.

Ответы на вопрос(2)

Ваш ответ на вопрос