2013-08-05 28 views
5

Tôi đang cố gắng tải url ứng dụng trong C#. Tôi đã thử sử dụng:C# Nhận url ứng dụng

HttpContext.Current.Request.ApplicationPath 

Nhưng điều đó chỉ trả về tôi "/". Tôi đang cố gắng để có được url đầy đủ của url cơ sở của ứng dụng, mà có thể hoặc có thể không chỉ đơn giản là "something.com". Trong một số trường hợp, tùy thuộc vào môi trường, nó là "something.com/foo/bar".

Tôi làm cách nào để đạt được điều này?

+0

là ứng dụng của bạn chạy như một thư mục ảo, hoặc sau một proxy ngược? 'Request.ApplicationPath' luôn làm việc cho tôi trong quá khứ. –

+0

Ném một trình gỡ rối vào đâu đó và kiểm tra 'HttpContext.Current.Request' và' HttpContext.Current.Request.Url'- bạn sẽ tìm thấy một tấn các thuộc tính hữu ích cung cấp cho bạn URL được định dạng rất nhiều cách - một trong số chúng có thể là những gì bạn đang tìm kiếm. –

Trả lời

7

Không phải là RawUrl là đủ cho bạn?

Nếu cung cấp cho bạn quá nhiều, bạn có thể thử

VirtualPathUtility.ToAbsolute("~/"); 
7

Hãy thử điều này:

string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/'); 
+0

điều này làm việc tốt cho tôi Request.Url.Scheme + ": //" + Request.Url.Authority. +1 cho điều này :) – tariq

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