Ошибки SignalR 500 во время "звона" на Голубом веб-сайте

У меня есть использование веб-приложения ASP.NET 4.5 SignalR, 1.0.0-rc1, который я выставил к Голубому веб-сайту о некотором быстром-и-грязном тестировании (я главным образом интересуюсь этой страницей здесь: http://alantaappbeta.azurewebsites.net/api/v3.0/Tests/Sample.htm).

Проблема состоит в том, что страница, кажется, не хочет говорить с обслуживанием SignalR. Центры и все зарегистрированы правильно, как http://alantaappbeta.azurewebsites.net/signalr/hubs возвращает правильный клиентский файл центров, и требование к/signalr/negotiate возвращает некоторый разумный взгляд JSON.

{
  "Url":"/signalr",
  "ConnectionId":"a15023f9-c675-4fc2-9fd6-403a297f10c0",
  "KeepAlive":15.0,
  "DisconnectTimeout":40.0,
  "TryWebSockets":false,
  "WebSocketServerUrl":null,
  "ProtocolVersion":"1.1"
}

Но когда это называет/signalr/ping, это возвращает 500 ошибок с сообщением "Ошибка протокола: Неизвестный транспорт". Трассировка стека, возвращенная на ошибочной странице, похожа на это:

[InvalidOperationException]: Protocol error: Unknown transport.
at Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequestAsync(HostContext context)
at Microsoft.AspNet.SignalR.Hubs.HubDispatcher.ProcessRequestAsync(HostContext context)
at Microsoft.AspNet.SignalR.Owin.CallHandler.Invoke(IDictionary`2 environment)
at Microsoft.AspNet.SignalR.Owin.Handlers.HubDispatcherHandler.Invoke(IDictionary`2 environment)
at Microsoft.Owin.Host.SystemWeb.OwinCallContext.Execute()
at Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object extraData)
at Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Поскольку это идет Голубое, у меня нет доступа ко всем инструментам поиска неисправностей, которые вы обычно имели бы, но что регистрируется, я был в состоянии добраться, доступ, чтобы не сделать дают мне любую информацию вне вышеупомянутого.

Я предполагаю, что само собой разумеется, что это хорошо работает на моем местном случае IIS:-).

Какие-либо предложения?

Править: Это - то, как я открываю свою связь:

$.connection.hub.start({
    transport: 'auto',
    xdomain: true
}).done(function() {
    console.log('Connected with hub.id=' + $.connection.hub.id);
}).fail(function (e) {
    console.log('Unable to connect to SignalR Hubs: ' + e);
});

Но ни одного .done() , ни .fail() укладчики не вызывают.

Достаточно странно, если я установил транспорт к 'longPolling', я могу заставить его подводить подобным образом использование IIS Express на моей местной коробке. Но это, кажется, не имеет значения, к чему я установил транспорт на Голубом: Я все еще получаю ту же самую ошибку.

0
nl ja de
Нет, просто пакет RC1 прочь NuGet.
добавлено автор Ken Smith, источник
Извините, не уверенный я понимаю. Почему мой клиент делает звонок тогда? И почему это только делает его на Голубом? И (я должен был упомянуть это), почему ни один .done (), ни .fail() укладчики за $ .connection.hub.start() быть названным?
добавлено автор Ken Smith, источник
Неважно понятый это. Я использовал биты RC1 на сервере, но все еще так или иначе ссылался dev версия отделения jquery.signalr.js файл. Как только я разгладил это, все это работало. Спасибо за указатель, и жаль о проблеме.
добавлено автор Ken Smith, источник
Вы используете отделение dev?
добавлено автор davidfowl, источник
Конечная точка звона isn' t в выпуске RC1.
добавлено автор davidfowl, источник
@KenSmith необходимо ответить собственный вопрос или закрыть его.
добавлено автор Bryce Kahle, источник

1 ответы

Оказывается, что проблема была то, что у меня было соединение различных версий SignalR на моей машине: Я использовал серверную сторону DLLs от (1.0.0-rc1) пакета NuGet, но файл клиента JavaScript был от dev отделение. Как только я получил их всех синхронизированных, все работало. Я все еще не уверен точно, почему проблема только обнаружилась с Голубым, но я подозреваю, что она имеет некоторое отношение к точным транспортным средствам, поддержанным различными версиями IIS.

0
добавлено