Доступ к значению переменной сеанса определенного сеанса

Я пытаюсь интегрировать общедоступную доску сообщений в существующий веб-сайт.

Рукопожатие между приложениями происходит следующим образом:

1) Файл на моем веб-сайте загружает флэш-файл. Flash считывает локальную переменную, которая является идентификатором сеанса, или другим идентификатором GUID, уникальным для сеанса пользователя.

2) Приложение Flash подключается к удаленной службе, передавая ей идентификатор сеанса.

3) Служба отправляет запрос GET обратно на исходный веб-сайт, запрашивая дополнительную информацию о пользователе.

4) Исходный веб-сайт (мой сайт) проверяет, что идентификатор сеанса соответствует действительному сеансу, и, если да, передает другую запрошенную информацию.

Я хотел бы иметь возможность использовать внутренний идентификатор сеанса ASP, но я не уверен, как в классическом ASP получать переменные сеанса для конкретного сеанса ASP, т. Е. Мне нужно значение Session (" FirstName "), где SessionID = 1234, а не Session (" FirstName ") для любого другого идентификатора сеанса. Мне не удалось найти синтаксис, который позволил бы мне это сделать.

Альтернативой является создание нового GUID для каждого сеанса, но это добавляет много накладных расходов.

Любые идеи?


person ScottyDont    schedule 08.11.2008    source источник


Ответы (1)


Я не знаю, как получить сведения о сеансе для конкретного экземпляра или идентификатора. Однако вы можете использовать объект Application для хранения необходимой информации, используя значение Session.SessionID:

Приложение (Session.SessionID & тег) = myTagValue

Таким образом, вы не создаете новый GUID, а используете уже существующий для сеанса, который и клиент, и сервер используют в вашем примере.

person Community    schedule 12.11.2008
comment
Умно, и я полагаю, что для этого не потребуется Application.Lock / Unlock, поскольку значения всегда разные. Это потребует явного удаления переменной Application, как только мы закончим с ней, чтобы не закончилась память. Интересный подход, спасибо! - person ScottyDont; 15.11.2008