2009-01-23 40 views
18

Cách tốt nhất để đẩy thông tin từ máy chủ đến máy khách web là gì? Tôi biết nó có thể thiết lập ổ cắm với Silverlight và Flash nhưng tôi muốn ở lại cách từ hai công nghệ.Máy chủ asp.net http đẩy cho khách hàng

Gmail dường như thực hiện nhiều công việc bỏ phiếu cho các máy chủ để cập nhật email và thậm chí các chương trình trò chuyện của họ hoạt động tốt (tất cả đều hoạt động trong trình duyệt web của tôi). Bất kỳ ý tưởng về cách tốt nhất để làm một cái gì đó như thế này nhưng bằng cách sử dụng asp.net?

Chỉnh sửa: Nếu tôi có cuộc thăm dò ý kiến, tôi muốn thăm dò ý kiến ​​máy chủ sau mỗi 2 hoặc 3 giây. Vì vậy, tôi không chắc chắn làm thế nào để làm điều này mà không cần đưa máy chủ web đến đầu gối của nó dưới sử dụng nặng.

+0

Re: Tần suất bỏ phiếu, 2-3 lần bỏ phiếu thứ hai trên dịch vụ web có trọng lượng rất nhẹ thường có khả năng mở rộng hơn thực thi "đẩy" HTTP thực sự. Giữ kết nối mở vĩnh viễn là tài nguyên chuyên sâu. –

+0

Hai ví dụ có sẵn tại http://www.udaparts.com/document/Tutorial/httppush.htm và http://www.udaparts.com/document/Tutorial/slpush.htm –

Trả lời

0

Để làm điều đó, hãy sử dụng ASP.NET 3.0/3.5 hoặc nếu bạn đang sử dụng các phiên bản cũ hơn, hãy sử dụng ASP.NET Ajax. Tuy nhiên, cả hai ví dụ được liệt kê bởi bạn, đang sử dụng Ajax để lấy thông tin, chứ không phải đẩy nó.

3

Tôi sẽ tạo một Dịch vụ web có thể gọi bằng tập lệnh và sử dụng JQuery.

Dưới đây là một hướng dẫn tốt về việc sử dụng JQuery để gọi một dịch vụ web ASP.NET (ASMX):

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

Bây giờ, bạn sẽ chỉ thăm dò ý kiến ​​dịch vụ web này ở bất cứ khoảng thời gian có ý nghĩa cho các ứng dụng của bạn.

Ngoài ra, vấn đề với ASP.NET AJAX là hơi nặng. Bằng cách sử dụng JQuery, bạn có thể gọi dịch vụ web của bạn từ biểu mẫu web ASP.NET thông thường, từ Chế độ xem trong MVC hoặc thực sự sử dụng bất kỳ công nghệ web nào khác (ASP cổ điển, PHP, bất kỳ thứ gì). xem, khung javascript tốt nhất xung quanh. :)

6

Kỹ thuật đẩy bạn đang tìm kiếm được gọi là Comet. Xem this article để biết một số gợi ý.

4

Hãy thử WebSync, một máy chủ sao lưu có thể mở rộng được tạo cho .NET/IIS. Nó sẽ cho phép bạn đẩy dữ liệu độc đáo từ máy chủ, và tích hợp siêu dễ dàng với các dự án ASP.NET (một vài mục web.config là tất cả phải mất).

+0

[Tuyên bố từ chối trách nhiệm đầy đủ: Tôi làm việc cho Núi đông lạnh ] – jvenema

+2

WebSync là dịch vụ trả tiền –

4

PokeIn là thư viện ajax đảo ngược cho ASP.NET & Mono. Nó có các khả năng khác nhau như .NET để JSON ngược lại. Bạn có thể tải xuống các dự án mẫu từ here

7

Vì bạn đề cập đến ASP.NET bạn nên sử dụng SignalR. Xem câu trả lời khác của tôi ở đây: Instant notifications like Facebook

+0

Có ai có kinh nghiệm về mở rộng SignalR không? Tôi cần phải đẩy tin nhắn nhỏ đến 100.000 hoặc hơn để khách hàng (cùng một thông điệp cho tất cả các phong cách ticker cổ phiếu) có bao nhiêu máy chủ là sẽ cần? –

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