У меня очень странная проблема с MVC3 и signalr .. У меня простой хаб;SignalR в MVC3, вопросы синхронизации и запуска/соединения?
[HubName("test")]
public class Test: Hub
{
public object GetStuff()
{
return new { dummy = "Test" };
}
}
И некоторый код на стороне клиента;
var connection = $.connection.test;
connection.start();
connection.getStuff();
Это вызывает ошибку;
TypeError: Объект # не имеет никакого метода 'старт'
Если я вместо этого сделать
var connection = $.connection("test");
я получаю другую ошибку;
TypeError: Объект # не имеет метод 'getStuff' JQuery-1.6.4.min.js: 4
POST http://localhost:63021/Controller/test/negotiate 405 (Method Not Allowed)
отметить его попытки договориться под контроллером почему-то?
Есть ли какой-то конкретный маршрут, который мне нужно зарегистрировать? О какой другой магии я не знаю?
UPDATE Так играть немного с консоли - первая версия, на деле создать объект, который имеет getStuff(), который я могу назвать. Но signalr срабатывает, потому что мне нужно сначала вызвать start(), которого не существует! Второй один создает объект, который действительно имеет начало(), но он не имеет getStuff() ..
UPDATE 2 Пробовал делать $ .connection.hub.start вместо этого. Это похоже на работу в консоли, но не на странице onload. Возможно, запуск не завершен до того, как будет сделан вызов концентратора? Это асинхронно?
Не могу сказать точно - но это может быть чувствительно к регистру '' getStuff' против GetStuff' для второго случая. – vcsjones
Ни один из них не работает, и URL-адрес для переговоров возвращает 404, поскольку он не может существовать (хабы находятся в корне). – XeroxDucati