2010-08-25 54 views
5

Cả hai đều trả về url đến, Chỉ cần biết Khi nào thì sử dụng Request.UrlReferrer và khi nào Request.ServerVariables["HTTP_REFERER"] và tại sao?Khi nào cần sử dụng Request.UrlReferrer và khi Request.ServerVariables ["HTTP_REFERER"]?

Hiện tại, trong một ứng dụng của tôi, Urlreferrer đang làm việc trong máy cục bộ của tôi nhưng nó không hoạt động khi đã hoạt động?

Ngoài ra, nó đáng được đánh giá cao nhất nếu có ai có thể hướng dẫn bất kỳ giải pháp thay thế nào cho cả Urlreferrer và HTTP_REFERRER?

Trả lời

4

Trả lời câu hỏi cuối cùng. Request.UrlReferrer trả về một đối tượng Uri, vì vậy nếu UrlReferrer có định dạng xấu thì bạn sẽ nhận được một ngoại lệ. Nó có vẻ kỳ lạ, nhưng một số lần tôi đã có nó. HTTP_REFERER là một chuỗi.

+0

+1 và cảm ơn câu trả lời này. @fravelgue là chính xác, một uri không hợp lệ cho liên kết giới thiệu trong tiêu đề HTTP sẽ gây ra 'UriFormatException' nếu bạn cố truy cập thuộc tính' UrlReferrer'. Xem câu trả lời của tôi ở đây để biết ví dụ: http://stackoverflow.com/questions/11878458/httpcontext-current-request-servervariableshttp-referer-null?nah=1#28845912 – rsbarro

0

Công việc Request.ServerVariables[] có hoạt động trong tình huống trực tiếp không? Đó là sự hiểu biết của tôi rằng hai giống hệt nhau.

Có thể là proxy và/hoặc tường lửa (tại máy chủ, máy khách hoặc bất kỳ nơi nào trong đó là ISP) đang loại bỏ liên kết giới thiệu không?

+0

Tôi đã kiểm tra không có tường lửa –

+0

@Gaurav: nếu bạn đã thử nghiệm tại địa phương (và nó hoạt động) và hiện tại bạn có người dùng "khác", thì những người dùng đó (hoặc ISP của họ) có thể có tường lửa ... –

+0

Hiện tại điều này là trực tiếp trong mạng riêng của chúng tôi và người dùng từ cùng một mạng, nơi nó hoạt động tốt. Nhưng trên trực tiếp, nó không hoạt động –

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