Как получить оригинальный URL после HttpContext.Current.Server.Execute? - PullRequest
0 голосов
/ 20 января 2012

Опубликовал этот вопрос вчера, но это немного запутало, поэтому я удалил и отправил снова!

Ну, я называю (например) сервер с этой ссылкой (я называю это "исходный URL"):

http://example.com/page/?IDL=1&IDH=90

Теперь на этом сервере я выполняю своего рода переписывание URL, изменяя запрошенный URL в:

http://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90

и затем, через HttpContext.Current.Server.Execute(), я называю этот новый URL.

Теперь, возможно ли (я http://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90) получить "исходный URL" запроса? Без разбора / замены, возможно доступ к некоторым свойствам объекта Execute?

Пробовал с Request.UrlReferrer, но я получаю нулевой объект?!?!?

Ответы [ 2 ]

1 голос
/ 20 января 2012

Попробуйте использовать Server.Transfer вместо Execute вместе с свойствами .

Или присоедините исходный URL к QueryString

http://www.myserver.it/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90&OriginalUrl=http://www.myserver.it/page/?IDL=1&IDH=90

И прочитайте это, как вы делаете для ID, IDL и IDH.

0 голосов
/ 16 апреля 2013

Используйте RawUrl. Это всегда без изменений, пока один или несколько Server.Transfer (s):

System.Web.HttpContext.Current.Request.RawUrl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...