2009-12-31 3 views
2

상황 : 2 도메인 (backoffice.myurl.com & www.myurl.com)이있는 2 개의 웹 페이지가 있습니다. 백 오피스는 asp.net 3.5 (vb.net)의 프론트 엔드로 작성된 클래식 ASP로 작성되었습니다.Microsoft.XMLHTTP로 웹 페이지를 호출하여 쿠키 설정

백 오피스의 버튼을 눌렀을 때 프론트 엔드에 쿠키를 설정하려고합니다. 나는 영문 코드에서에서는 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) 

를 통해 프론트 엔드의 페이지를 호출하여이 작업을 수행 할 나는 게시 된 값을 읽고 쿠키에 넣어 다음에 다른 페이지에서

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) 

프론트 엔드 그 쿠키를 읽을 수 :

Request.Cookies("mytest3").Value 

하지만 Request.Cookies는 ("mytest3은")가 '아무것도'없다. 쿠키가 설정되지 않은 것 같습니다. 내가 뭘 잘못했는지 어떻게 해결할 수 있니? 페이지가 호출됩니다 (내 디버거가 중단 점에 도달 함)

이 경우도 가능합니까?

+0

게시 한 VBScript 코드가 클라이언트에서 실행됩니까? – AnthonyWJones

답변

2

쿠키를 만들 때 명시 적으로 domain 설정해야 브라우저가 귀하의 질문에 대답했다 *.myurl.com

+0

답변 주셔서 감사합니다,이 아마 작동하지만 aspx에 대한 내 ASP 호출과 함께 작동하지 않았다. 완전히 다른 접근 방식을 사용했습니다 (쿠키 부분을 생략했습니다). 이제는 완벽하게 작동합니다. 생각을위한 Thnx – Alexander

1

대린에 각 요청에 따라 쿠키를 보내드립니다

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

이 방법을하지만 다른 문제가 -

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

응답 쿠키 컬렉션은 R과 다른 컬렉션입니다. equest 컬렉션. 응답 쿠키는 코드가 특별히 쿠키를 추가 할 때까지 항상 비어 있습니다. 따라서 위의 행은 실패합니다.