2009-10-07 35 views
13

Tôi đang xây dựng trang asp.net tải một phần động, tôi muốn sử dụng jQuery để gọi phương thức trang hoặc dịch vụ web để truy xuất HTML nội dung.Phương pháp trang ASP.NET so với dịch vụ web

phương pháp trang hoặc dịch vụ web, hiệu suất khôn ngoan, cách nào tốt hơn?

Nếu tôi gọi phương thức trang, ở phía máy chủ, trang có trải qua toàn bộ vòng đời không?

Có tài nguyên nào tốt giúp tôi hiểu rõ hơn phương pháp trang không?

Trả lời

17

Bạn có thể gọi PageMethods và Web Services mà không cần điều khiển ScriptManager (tạo đối tượng proxy JavaScript cho phép bạn sử dụng cú pháp quen thuộc để gọi các dịch vụ web và phương thức trang).

Điều trên using jQuery to directly call ASP.NET AJAX page methods

Điều trên using jQuery to Consume ASP.NET JSON Web Services

Dưới đây là một MSDN article from 2007 on Web Services and Page Methods. Nhìn qua một thời gian ngắn, nó có vẻ vẫn còn liên quan đến cách họ làm việc/những gì bạn cần làm để có được họ làm việc ngày hôm nay.

Hiệu suất khôn ngoan:

Bạn có thể mong đợi các phương pháp trang cung cấp hiệu suất tốt hơn so với các dịch vụ Web. Sau khi tất cả, để giải quyết dịch vụ Web cuộc gọi, thời gian chạy ASP.NET phải phân tích cú pháp gói SOAP. Điều này, tuy nhiên, là không chính xác. ASP.NET AJAX cài đặt trình xử lý HTTP được thiết kế riêng (xem Hình 3) chặn tất cả các yêu cầu ASMX . Yêu cầu có/js hậu tố được xử lý khác nhau, làm việc trực tiếp với tải trọng JSON và phương thức dịch vụ web. Kết quả là, không có SOAP nào có liên quan gì và cơ quan của yêu cầu chỉ chứa luồng JSON của các đối số đầu vào. Đối với các yêu cầu không phải AJAX, trình xử lý HTTP mới chỉ ủy quyền cuộc gọi trở lại tới trình xử lý ASP.NET ban đầu hiểu SOAP.

Để đối phó với Page Vòng đời, Trang Phương pháp làm không đi qua các server-side Trang Lifecycle (đó cũng là một client-side Page Lifecycle quá).

+0

hey @Russ cùng một bài viết một lần nữa! – TheVillageIdiot

+0

@ TheVillageIdiot - Tôi đã không mong đợi nó sẽ xuất hiện trở lại sớm như vậy! –

+0

@RussCam một câu hỏi tiếp theo, là PageMethods Async, hoặc chúng có thể được thực hiện Async không? Tôi đã nhấn một bức tường mà một cuộc gọi PageMethods (mất khoảng 4 giây trở lại) chặn và ngăn các cuộc gọi phương thức trang dựa trên bộ đếm thời gian khác chạy như mong đợi. –

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