2013-04-30 7 views
0

Я пытаюсь использовать библиотеку SignalR в проекте, над которым мы сейчас работаем. Я прочитал несколько блогов, посмотрел несколько ответов на stackoverflow и проверил документацию signalr, но без везения. Код ниже - это только самый простой пример, который я пытаюсь сделать.singlar/negotiate no json response - no singlar/connect

Я использую SignalR 1.0.1 с концентраторами, jquery 2.0.0, ASP.NET MVC2, .NET Framework 4, signalr/хабы загружаются через Url.Content("~/signalr/hubs"). В исходном коде страницы, когда я нажимаю signalr/hubs, я вижу код js, генерируемый SignalR.

Я также добавил RouteTable.Routes.MapHubs(); к началу Application_Start() узловом:

public class Chat : Hub 
{ 
    public void Send() 
    { 
     Clients.All.addMessage(); 
    } 
} 

кода клиента в JQuery документ, готовый блок

$(function() { 
    var chat = $.connection.chat; 

    chat.client.addMessage = function() { 
     console.log("hello here"); 
    }; 

    $.connection.hub.logging = true; 
    $.connection.hub.error(function() { 
     console.log("An error occured1"); 
    }); 
    $.connection.hub.start() 
     .done(function() { 
      alert("Now connected!"); 
     }) 
     .fail(function() { 
      console.log("Could not connect"); 
     }); 
}); 

Проблема заключается в том, что: http://localhost/EC/signalr/negotiate возвращает статус 200 OK, но тело ответа пуст, поэтому соединение не создается.

Я попытался установить runAllManagedModulesForAllRequests="true", но ничего не изменил, также попытался $.connection.hub.url = 'http://localhost/EC/signalr';, но опять же никакого эффекта.

Я также сохранил класс хабов в папке Hubs или в корне проекта.

Буду признателен за любую помощь в этом, поскольку у меня заканчиваются идеи, как и где искать решение.

+0

Как выглядит консольный вывод? – davidfowl

ответ

0

@suleks,

Случайно ваша страница отсутствует "signalr/концентраторы" сценарий?

<script src="signalr/hubs" type="text/javascript"></script> 
0

Итак, возникли проблемы с нашими серверами, которые блокировали все. Спасибо, что заглянули в нашу проблему. Вопрос может быть закрыт.

+1

Как вы это исправили? Вы открыли какой-то порт или что-то на сервере? Я столкнулся с одной и той же проблемой, я не получаю ответа от signalr/connect или signalr/reconnect, я подозреваю, что это приводит к тому, что некоторые клиенты могут отключиться и никогда не пересоединяться, если не попытаться вручную. – aliirz