2010-01-26 2 views
5

Когда я вызываю Request.RawUrl, я не получаю доменное имя (по крайней мере, в разработке).Почему request.rawurl не включает http: // localhost part?

Например, если мой URL локально:

http://localhost:2343/some/thing

Вызов Request.RawUrl дает мне обратно:

/некоторые/вещь

Я помню, что возвращает все , является ли это поведение b/c локальным dev?

Update

Я также использую Url переписывание так вещи, как Request.Url.AbsoluteUri вернуться обратно внутренний URL-адрес, а не переписаны URL, что мне нужно получить.

javascript only way then?

Или я, возможно, могу использовать Request.RawUrl для части url, а затем просто как-нибудь получить часть имени домена? (Иногда это имеет порт тоже ...)

ответ

1

Посмотрите, что вы получите с Request.Url.

6

Согласно documentation:

Исходный URL-адрес определяется как часть URL следующей информации о домене. В строке URL http://www.contoso.com/articles/recent.aspx исходным URL-адресом является /articles/recent.aspx. Необработанный URL-адрес включает строку запроса, если она присутствует.

Вы можете использовать Request.Url.AbsoluteUri, чтобы получить всю информацию.

+0

Проблема в том, что я использую url re-writting, так что, возможно, единственный способ получить URL-адрес через javascript? – user255963

1

Это поведение по дизайну. RawUrl возвращает только часть URL-адреса, следующего за доменным именем, а также любые параметры запроса.

Если вы хотите получить полный URL-адрес, используйте Request.Url.

Смежные вопросы