2012-03-17 6 views
8

Я пытаюсь получить базовый образец по всем доменам, но я просто не могу заставить его работать. По словам кого-то здесь https://github.com/SignalR/SignalR/issues/6, он заставил его работать, добавив заголовок Access-Control-Allow-Origin.SignalR через домены

В принципе, я добавил концентратор к приложению mvc 3, добавил выше заголовок в web.config и создал страницу для отправки сообщения. Эта настройка работает нормально. Затем я создал другой веб-приложения с использованием того же клиента JavaScript на странице, но настройки URL на другой сервер с помощью:

$.connection.hub.url = 'http://www.myserver.com/signalr'; 

Как только я использую удаленный URL он перестает работать.

Как я могу заставить SignalR работать по доменам?

Update: Некоторые добавляют информации, вышеописанный подход работает для хрома и светлячка, но IE9 не нравится это ...

+0

С какого браузера вы проводите тестирование? Не все браузеры поддерживают заголовок 'Access-Control-Allow-Origin'. –

+0

Я использую IE9 и Chrome –

ответ

9

Я получил это работает, используя простой тестовый проект и Internet Explorer 9, но это WASN Легко и сначала меня повесили на те же проблемы, которые вы описали. Я думаю, вы почти там, и вы только недостающие следующую строку в JavaScript:

jQuery.support.cors = true; 

повествующий JQuery делать перекрестные вызовы домена. Кажется простым, но было очень сложно найти ;-)

Я объяснил все шаги, которые я сделал в blog post, так как я пока не нашел никакой информации по этой теме.

Сообщите мне, есть ли проблемы. У меня есть рабочий тестовый проект, запущенный в Internet Explorer 9, который я могу вам отправить.

+0

Спасибо, это сработало! Он бросает исключение, исключающее доступ, в фоновом режиме на вечном кадре (например, var $ = window.parent.jQuery), и пользователь получает всплывающее сообщение, чтобы разрешить cors, но оно отправляет и принимает сообщения! –

+0

Странно, я не получил всплывающее сообщение ... Это в IE или в другом браузере? Рад, что он работает :-) – aKzenT

+0

Это действительно в IE9. Я надеюсь, что они скоро получат официальную поддержку кросс-домена в SignalR :) –

Смежные вопросы