2010-01-26 27 views
5

Khi tôi gọi Request.RawUrl Tôi không nhận được tên miền (ít nhất là trong phát triển).Tại sao không request.rawurl bao gồm phần http: // localhost?

Ví dụ, nếu url của tôi tại địa phương là:

http://localhost:2343/some/thing

Các cuộc gọi đến Request.RawUrl là cho tôi trở lại:

/some/điều

tôi nhớ lại nó sẽ trả về tất cả mọi thứ , đây là hành vi b/c nó là dev địa phương?

Cập nhật

Tôi cũng đang sử dụng Url Re-Viết nên những thứ như Request.Url.AbsoluteUri trở về url nội bộ, không phải là url lại viết rằng tôi cần phải nhận được.

là javascript cách duy nhất sau đó?

Hoặc tôi có thể tôi có thể sử dụng Request.RawUrl cho phần url và sau đó chỉ nhận phần tên miền bằng cách nào đó? (Đôi khi nó có một cổng quá ...)

Trả lời

1

Xem những gì bạn nhận được với Request.Url.

6

Theo documentation:

URL liệu được định nghĩa là một phần của URL sau khi thông tin tên miền. Trong chuỗi URL http://www.contoso.com/articles/recent.aspx, URL thô là /articles/recent.aspx. URL thô bao gồm chuỗi truy vấn, nếu có.

Bạn có thể sử dụng Request.Url.AbsoluteUri để nhận toàn bộ nội dung.

+0

Vấn đề là tôi đang sử dụng viết lại url, vì vậy có lẽ cách duy nhất là nhận url qua javascript? – user255963

1

Từ tài liệu MSDN trên Request.RawUrl:

The raw URL is defined as the part of the URL following the domain information.

Bạn đang tìm kiếm Request.Url.

1

Hành vi đó là do thiết kế. RawUrl chỉ trả lại một phần của url sau tên miền, cộng với bất kỳ tham số chuỗi truy vấn nào.

Nếu bạn muốn url đầy đủ, hãy sử dụng Request.Url.

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