2009-12-31 1 views
2

Ситуация: У меня есть 2 веб-страницы с двумя доменами (backoffice.myurl.com & www.myurl.com). Backoffice написан в классическом asp, интерфейс в asp.net 3.5 (vb.net)Настройка cookie путем вызова веб-страницы Microsoft.XMLHTTP

Когда я нажал кнопку в backoffice, я хочу установить cookie на frontend. Я делаю это путем вызова страницы на интерфейсе с помощью 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) 

В коде ASPX я прочитал отправил значение и поместить его в куки:

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") не является 'ничего' там. Очевидно, что файл cookie не установлен. Что я делаю неправильно или как я могу это решить? Страницы называются (мой отладчик попадает на точки останова)

Возможно ли это вообще?

+0

Код VBScript, который вы отправили, работает на клиенте? – AnthonyWJones

ответ

2

При создании куки вам необходимо явно установить 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" 

Таким образом, браузер отправляет куки вдоль каждого запроса на *.myurl.com

+0

Спасибо за ваш ответ, это, вероятно, будет работать, но это не сработало в сочетании с моим asp-вызовом aspx. Я использовал совершенно другой подход (я пропустил часть файла cookie), и теперь он отлично работает. Thnx для размышлений – Alexander

1

Дарин ответил на ваш вопрос, но у вас есть еще одна проблема с этой линией: -

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

Отрицательная коллекция Cookie - это коллекция, отличная от коллекции R экстерт коллекция. Файлы cookie ответов всегда пусты, пока код не добавит к нему cookie. Следовательно, указанная выше строка не сработает.

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

  • Нет связанных вопросов^_^