2012-03-17 33 views
8

Tôi đang cố gắng lấy mẫu cơ bản trên các tên miền đang hoạt động, nhưng tôi không thể làm cho nó hoạt động. Theo một người nào đó ở đây, https://github.com/SignalR/SignalR/issues/6, anh ta đã làm cho nó hoạt động bằng cách thêm tiêu đề Access-Control-Allow-Origin.SignalR trên các tên miền

Về cơ bản, tôi đã thêm trung tâm vào ứng dụng mvc 3, đã thêm tiêu đề ở trên vào web.config và tạo trang để gửi tin nhắn. Thiết lập này hoạt động tốt. Tiếp theo, tôi đã tạo ra một ứng dụng web khác nhau bằng cách sử dụng javascript cùng một khách hàng trên một trang, nhưng thiết url đến một máy chủ khác nhau sử dụng:

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

Ngay sau khi tôi sử dụng một url từ xa nó ngừng hoạt động.

Tôi làm cách nào để SignalR hoạt động trên các tên miền?

Cập nhật: Một số thông tin bổ sung, cách tiếp cận nêu trên làm việc cho chrome và firefox, nhưng IE9 không thích nó ...

+0

Bạn đang thử nghiệm trình duyệt nào? Không phải tất cả các trình duyệt đều hỗ trợ tiêu đề 'Access-Control-Allow-Origin'. –

+0

Tôi đã sử dụng IE9 và Chrome –

Trả lời

9

tôi nhận nó làm việc bằng một dự án thử nghiệm đơn giản và Internet Explorer 9, nhưng nó wasn Không dễ dàng và lần đầu tiên tôi được treo trên cùng một vấn đề bạn mô tả. Tôi nghĩ bạn gần như ở đó và bạn chỉ thiếu dòng sau trong mã JavaScript của mình:

jQuery.support.cors = true; 

yêu cầu jQuery thực hiện các cuộc gọi tên miền chéo. Có vẻ đơn giản, nhưng thực sự khó tìm ;-)

Tôi giải thích tất cả các bước tôi đã làm trong một blog post vì tôi không tìm thấy bất kỳ thông tin hiện có nào về chủ đề này cho đến nay.

Hãy cho tôi biết nếu có bất kỳ sự cố nào khác. Tôi có một dự án thử nghiệm đang chạy trong Internet Explorer 9 mà tôi có thể gửi cho bạn.

+0

Cảm ơn, nó đã hoạt động! Nó ném một truy cập bị từ chối ngoại lệ trong nền trên khung mãi mãi (var $ = window.parent.jQuery để được chính xác), và người dùng nhận được một tin nhắn popup để cho phép cors, nhưng nó sẽ gửi và nhận tin nhắn! –

+0

Lạ lùng, tôi không nhận được bất kỳ tin nhắn popup nào ... Đây có phải là trong IE hoặc trình duyệt khác không? Vui mừng nó hoạt động :-) – aKzenT

+0

Đây là trong IE9 thực sự. Tôi hy vọng họ nhận được hỗ trợ tên miền chéo chính thức sớm trong SignalR :) –

Các vấn đề liên quan