Можно ли разделить состояние сеанса между asp classic и asp.net? - PullRequest
3 голосов
/ 20 января 2011

Мы переносим веб-сайт ASP Classic на ASP.Net. Одним из больших препятствий является большой объем данных, хранящихся в SessionState на веб-сайте ASP Classic.

Я ищу способы, которыми состояние сеанса может быть разделено между двумя приложениями. Я нашел следующую ссылку от Microsoft MSDN , которая описывает, как делиться сессией с общей базой данных. К сожалению, он использует двоичный форматер для сериализации в базу данных, и у меня недавно был некоторый неудачный опыт с указанной двоичной сериализацией.

У кого-нибудь есть другие предложения о том, как поделиться состоянием сеанса? или альтернативы двоичной сериализации?

Ответы [ 2 ]

4 голосов
/ 20 января 2011

Лучше всего использовать статью MSDN, на которую вы ссылаетесь. Вы можете использовать файлы cookie, скрытые поля формы, параметры строки запроса или любое другое количество «обходных путей», но все они являются взломами и имеют проблемы (проблемы безопасности, просто не работают правильно, больше работы, чем полная перезапись и т. д.)

0 голосов
/ 20 января 2011

Мы должны были сделать это для пары сайтов.Насколько я знаю, не существует простого способа сделать это.

Если у вас есть только небольшие объемы данных, зашифруйте эти данные (используя безопасный подход, такой как Rijndael) и передайте их через URL и дешифруйте их наОбратная сторона.Включите что-то вроде метки даты в зашифрованное значение, чтобы убедиться, что ссылка работает только в течение примерно 3 секунд или что-то в этом роде.

Если данных больше, сохраните их в базе данных, затем передайте идентификатор этим даннымв URL, как описано выше.Тот же процесс.

Удачи.

Редактировать: Следует отметить, что, как отмечали другие авторы, а также статья MSDN, это не самый идеальный вариант.сценарий, и, вероятно, не пуленепробиваемый с точки зрения безопасности, но он близок.

...