2010-07-05 10 views
1

Existe-t-il une méthode dans asp.net pour obtenir une URL absolue avec une session sans cookie?URL absolue Cookieless

MISE À JOUR: J'ai besoin de créer une autre nouvelle URL. Il n'est pas demandé d'URL.

J'utilise Response.ApplyAppPathModifier pour obtenir une URL relative avec une session cookie.

Thx à l'avance,

+0

Pouvez-vous donner un peu plus de contexte. Comment le cookie affecte-t-il l'URL? –

+0

Qu'est-ce qu'une "URL avec une session sans cookie"? – Gumbo

+0

@Gumbo: une URL avec une session sans cookie dans ASP.NET est ce que vous finissez lorsque vous définissez dans web.config . S'il vous plaît vérifier ma réponse pour plus d'informations. – XIII

Répondre

2

J'ai essayé Request.RawUrl et Request.Url (et ses propriétés dans la fenêtre immédiate).
Aucun fait afficher l'attribut supplémentaire le réglage (web.config):

<sesionState cookieless="true" /> 

fait dans l'URL.

Exemple

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

Toutefois, si vous êtes après cette partie, 3abhbgwjg33aqrt3uat2kh4d, vous pouvez l'obtenir via:

Session.SessionID 

mise à jour après la question mise à jour:

J'ai mis dans mon application de test lication un contrôle Hyperlien sur la page. Dans le code derrière, Page_Load, j'ajouté:

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

Quand je lance cette page l'URL pour About.aspx se prépare avec la partie de session cookieless inclus.

Quand je vérifie la source du html rendu dans mon navigateur je vois ceci:

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

MISE À JOUR: J'ai besoin de créer une autre nouvelle URL. Il n'est pas demandé d'URL. – fravelgue

+0

Oui, il s'agit d'une URL relative, mais j'ai besoin d'une URL absolue, j'utilise string.format pour obtenir le domaine. Mais j'espère exister une fonction particulière. Merci pour votre aide. – fravelgue

+0

Je ne pense pas qu'il existe une fonction spécifique hors de la boîte.Cependant, vous pouvez créer une instance d'Uri entièrement nouvelle et transmettre les éléments avec un formatage de chaîne sur la propriété Request.Uri. – XIII

0

Avez-vous essayé Request.Url.ToString(). Il devrait fonctionner pour vous. Si vous aviez besoin de l'URL d'une autre page sur votre site, vous pouvez procéder comme ceci ...

Chaîne url = nouveau Uri (Context.Request.Url, ResolveUrl ("~/ABC.aspx")). ToString)

Nous avons aussi quelque chose comme Request.Url.AbsoluteUri

J'espère un des devrait travailler pour vous ci-dessus.

+0

Je ne sais pas pourquoi. Mais ResolveUrl ne fonctionne pas avec l'URL sans cookie. – fravelgue

Questions connexes