Trong ASP.NET, có cách nào để nhận được URL thực thực không?ASP.NET: Nhận URL đích * thực *
Ví dụ: nếu người dùng duyệt đến "http://example.com/mypage.aspx/%2F", tôi muốn có thể nhận được "http://example.com/mypage.aspx/%2F" thay vì "http://example.com/mypage.aspx//".
Tôi sẽ tất nhiên như một cách sạch sẽ để làm điều đó, nhưng tôi có thể sống với một cách tiếp cận hacky bằng cách sử dụng phản ánh hoặc truy cập tài sản mơ hồ.
Hiện tại, tôi cố gắng sử dụng uri trong tiêu đề Cấp quyền (hoạt động), nhưng tôi không thể dựa vào đó luôn ở đó.
EDIT:
Những gì tôi thực sự muốn làm là để có thể phân biệt giữa "http://example.com/mypage.aspx/%2F" và "http://example.com/mypage.aspx/%2F%2F".
Dường như ASP.NET đầu tiên chuyển đổi "% 2F% 2F" thành "//" và sau đó chuyển đổi dấu gạch chéo thành dấu gạch chéo đơn.
Vì vậy, chỉ cần mã hóa lại nó sẽ không hoạt động.
Đây là giải pháp đúng. Nó giải quyết các vấn đề khi có mã hóa trong đường dẫn. HTTP_URL từ các biến máy chủ sẽ hiển thị phiên bản đã giải mã và giải pháp này cung cấp phiên bản được mã hóa chính xác. –
Điều này trả về kết quả mong đợi theo IIS Express – Vivelin