2010-07-05 2 views
1

Есть ли какой-нибудь метод в asp.net для получения абсолютного URL-адреса с cookieless-сессией?Абсолютный URL Cookieless

ОБНОВЛЕНИЕ: Мне нужно создать другой новый URL. URL-адрес не запрашивается.

Я использую Response.ApplyAppPathModifier для получения относительного URL-адреса с сеансом cookie.

Thx заранее,

+0

Можете ли вы дать немного больше фона. Как файл cookie влияет на URL? –

+0

Что такое URL с cookieless session? – Gumbo

+0

@Gumbo: URL-адрес с cookieless-сессией в ASP.NET - это то, что вы в конечном итоге получаете, когда вы устанавливаете в web.config . Пожалуйста, проверьте мой ответ для получения дополнительной информации. – XIII

ответ

2

Я попытался Request.RawUrl и Request.Url (и его свойства в окне Immediate).
Никто не сделал показать Лишний атрибут настройку (web.config):

<sesionState cookieless="true" /> 

делает в ссылке.

Пример

http://localhost:2677/WebSite1/(S(3abhbgwjg33aqrt3uat2kh4d))/cookielesssessiondetection.aspx

Однако, если вы после той части, 3abhbgwjg33aqrt3uat2kh4d, вы можете получить его с помощью:

Session.SessionID 

Update после обновленного вопроса:

Я положил в свое тестовое приложение lication - элемент управления гиперссылкой на странице. В коде позади, Page_Load, я добавил:

HyperLink1.NavigateUrl = Response.ApplyAppPathModifier("About.aspx"); 

Когда я запускаю эту страницу, то гиперссылка на About.aspx получает набор с Cookieless сессии часть включены.

Когда я проверить источник оказанной HTML в браузере я вижу это:

<a id="HyperLink1" href="/WebSite1/(S(3tzgdnmhwxmxqer10d11auuq))/About.aspx">HyperLink</a> 
+0

UPDATE: Мне нужно создать другой новый URL. URL-адрес не запрашивается. – fravelgue

+0

Да, это относительный URL, но мне нужен Абсолютный URL, я использую string.format для получения домена. Но я надеюсь, что существует одна особенная функция. Thx для вас поможет. – fravelgue

+0

Я не думаю, что есть определенная функция из коробки.Однако вы можете создать совершенно новый экземпляр Uri и передать части с некоторым форматированием строки в свойстве Request.Uri. – XIII

0

ли вы попробовать Request.Url.ToString(). Это должно сработать для вас. Если вам нужен был URL другой страницы на вашем сайте, вы можете продолжить это ...

String url = new Uri (Context.Request.Url, ResolveUrl ("~/ABC.aspx")). ToString)

у нас также есть что-то вроде Request.Url.AbsoluteUri

Я надеюсь, что один из указанных выше должны работать для вас.

+0

Я не знаю почему. Но ResolveUrl не работает с cookieless URL. – fravelgue

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