2009-12-14 32 views
13

Trong khi tôi đang làm việc trên bộ nhớ cache, có cái gì đó giống nhưVaryByParam trong asp.net là gì?

VaryByParam

trong chỉ thị trang. Vậy đây là gì? Ai có thể giải thích cho tôi không?

+0

Bạn có thể tìm thấy một giải thích chi tiết trong liên kết sau: http://stackoverflow.com/questions/3538012/how-do-i-use-varybyparam-with-multiple-parameters – Jonay

Trả lời

13

Từ @ OutputCache (MSDN):

Một danh sách dấu chấm phẩy để phân tách giữa chuỗi được sử dụng để thay đổi output cache. Theo mặc định, các chuỗi này tương ứng với một giá trị chuỗi truy vấn được gửi với các thuộc tính phương thức GET hoặc một tham số được gửi bằng phương thức POST. Khi thuộc tính này được đặt thành nhiều tham số, bộ nhớ cache đầu ra chứa một phiên bản khác của tài liệu được yêu cầu cho mỗi thông số được chỉ định. Các giá trị có thể bao gồm none, *, và bất kỳ chuỗi truy vấn hợp lệ hoặc tên tham số POST nào.

Bằng cách sử dụng nó, nếu bạn gọi trang của bạn sử dụng cùng một giá trị biến, trang đó sẽ được truy xuất từ ​​bộ nhớ cache của bạn và sẽ không được thực hiện cho đến khi đạt được tham số Duration.

+0

Ông Rubbens Faria nếu tôi chỉ muốn đặt bộ nhớ cache cho một trang web kiểm soát như nhãn như thế nào ca n i viết –

+0

Bạn có thể viết điều khiển người dùng (.ASCX) có chứa nhãn của bạn và thêm '@ OutputCache' vào điều khiển đó. Hãy xem tại đây: http://msdn.microsoft.com/en-us/library/h30h475z.aspx –

+0

Ok ok tôi hiểu Cảm ơn ông Rubens Farias –

21

Để trích dẫn từ MSDN documentation:

Một danh sách dấu chấm phẩy để phân tách giữa chuỗi được sử dụng để thay đổi output cache. Theo mặc định, các chuỗi này tương ứng với một giá trị chuỗi truy vấn được gửi với các thuộc tính phương thức GET hoặc một tham số được gửi bằng phương thức POST. Khi thuộc tính này được đặt thành nhiều tham số, bộ đệm đầu ra chứa một phiên bản khác của tài liệu được yêu cầu cho mỗi kết hợp các tham số được chỉ định. Các giá trị có thể bao gồm không, dấu hoa thị (*) và bất kỳ chuỗi truy vấn hợp lệ hoặc tên thông số POST nào.

Vì vậy, nếu bạn đặt nó vào "A;B", sau đó các URL sẽ được lưu trữ riêng biệt:

http://example.com/yourpage.aspx?A=1&B=4 
http://example.com/yourpage.aspx?A=1&B=3 
http://example.com/yourpage.aspx?A=2&B=3 

nhưng những URL sẽ truy cập vào mục cache giống nhau:

http://example.com/yourpage.aspx?A=1&C=4 
http://example.com/yourpage.aspx?A=1&C=3 
+1

Đây thực sự là câu trả lời tốt hơn một chút so với câu trả lời được chấp nhận vì các ví dụ . – campbelt

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