2009-12-31 5 views
2

La situation: J'ai 2 pages Web avec 2 domaines (backoffice.myurl.com & www.myurl.com). Le backoffice est écrit en ASP classique, le frontend dans ASP.net 3.5 (vb.net)Paramétrer le cookie en appelant la page Web par Microsoft.XMLHTTP

Lorsque je tape un bouton dans le backoffice, je veux mettre un cookie sur le frontend. Je le fais en appelant une page sur le frontend via Microsoft.XMLHTTP

Dim GetConnection 
Set GetConnection = CreateObject("Microsoft.XMLHTTP") 
GetConnection.Open "POST", webserviceLocation, False 
GetConnection.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
GetConnection.Send("data=" &value) 

Dans le code ASPX je lis la valeur affichée et le mettre dans un cookie:

If Not Request.Cookies("mytest3") Is Nothing Then 

     Response.Cookies("mytest3").Expires = Now.AddYears(-23) 
    End If 

    Response.Cookies.Set(New HttpCookie("mytest3", Request.Form.Item("data"))) 
    Response.Cookies("mytest3").Expires = DateTime.Now.AddYears(30) 

Sur une autre page sur la frontend Je veux lire ce cookie:

Request.Cookies("mytest3").Value 

mais les Request.Cookies ("mytest3") est 'rien' là. Apparemment, le cookie n'est pas défini. Qu'est-ce que je fais mal ou comment puis-je résoudre ce problème? Les pages sont appelées (mon débogueur atteint les points d'arrêt)

Est-ce encore possible?

+0

Le code VBScript que vous avez publié s'exécute sur le client? – AnthonyWJones

Répondre

2

Lors de la création du cookie vous devez définir explicitement la domain:

' I do not remember if the value should be set to myurl.com or .myurl.com 
' Please test 
Response.Cookies("mytest3").Domain = "myurl.com" 

Ainsi, le navigateur envoie le cookie le long de chaque demande de *.myurl.com

+0

Merci pour votre réponse, cela fonctionnera probablement, mais cela n'a pas fonctionné en combinaison avec mon appel asp à l'aspx. J'ai utilisé une approche totalement différente (j'ai sauté la partie cookie) et ça fonctionne parfaitement maintenant. Thnx pour penser – Alexander

1

Darin a répondu à votre question, mais vous avez un autre problème avec cette ligne: -

Response.Cookies("mytest3").Expires = Now.AddYears(-23) 

La réponse Cookie collection est une collection differentc à celle du R collection d'equest. Les cookies de réponse sont toujours vides jusqu'à ce que le code y ajoute spécifiquement un cookie. Par conséquent, la ligne ci-dessus échouera.

Questions connexes