Để đơn giản hơn cho một ứng dụng web chia sẻ tệp với ứng dụng khác trên một máy chủ khác, tôi đang sử dụng thẻ cơ sở href trong trang chính của mình. Như nhiều người đã phát hiện ra, điều này phá vỡ đường dẫn webform. Tôi có một lớp Form Adapter làm việc nhưng tôi không chắc chắn làm thế nào để có được đường dẫn tuyệt đối của url. Hiện nay, chương trình của tôi là hardcoded sử dụng một cái gì đó tương tự như:Đường dẫn tuyệt đối Asp.Net của URL
HttpContext Context = HttpContext.Current;
value = "http://localhost" + Context.Request.RawUrl;
Điều đáng chú ý là tôi đang thử nghiệm trên máy chủ IIS địa phương của tôi, vì vậy có một xu hướng xa lạ đối với rất nhiều thứ tôi đã cố gắng sử dụng theo thứ tự đường dẫn tuyệt đối không bao gồm tên miền (IIS cục bộ của tôi không hiển thị bên ngoài). Điều đó có nghĩa nó không phải là một con đường tuyệt đối và do đó cơ sở href sẽ phá hỏng nó.
Có cách nào tốt để xử lý việc này sao cho nó hoạt động cục bộ mà không cần mã hóa nhưng cũng sẽ hoạt động bình thường khi được tải lên máy chủ? Tôi muốn tránh bất cứ điều gì liên quan đến việc làm một cái gì đó khác nhau trên bản sao phía máy chủ.
Có, tôi nhận ra rằng tôi có thể sử dụng tệp web.config riêng tại địa phương và trên máy chủ để nhận thông tin này nhưng điều này rất xấu và vi phạm DRY.
Tôi không chắc chắn nhưng, bạn có thử Request.Url.Host không? –