Большинство людей в мире OpenEdge пишут собственную обработку сеанса (включая меня), хотя есть несколько альтернатив.
Как упоминает Тим, существует свободная структура, которая существует уже 12 лет, но я не знаю, активно ли она развивается.
Основа eScript - отличная замена для WebSpeed, позволяющая разделить бизнес-логику & Пользовательский интерфейс. Вы будете знать, что использование cgi-wrappers - это боль для вашей обработки строк (кавычки и двойные кавычки для кода JavaScript внутри строк 4GL - это кошмар). Полная структура (я считаю, что существует постоянная лицензия на использование полной структуры) имеет встроенную обработку сеанса.
Я считаю, что в ближайшие 12 месяцев разработчик eScript будет выпущен совершенно новый фреймворк, заменитель для eScript; для получения дополнительной информации зарегистрируйтесь в списке рассылки разработчика eScript по адресу Rule Six (его имя Мэтт Верриндер, и я никоим образом не связан с ним).
Я сам использую основной веб-объект eScript. У этого нет постоянного лицензирования (вам просто нужно взять с собой заранее подготовленную консультацию у Мэтта) и дает вам преимущества бизнес-логики/пользовательского интерфейса, которые делятся на дешевые. Разумеется, вам все равно придется писать свою сессию.
Хорошим ресурсом для разработчиков OpenEdge является www.progrestalk.com: у вас больше шансов получить полезные ответы там, чем на Stackoverflow. Если вы выполните поиск на своих форумах, вы найдете много информации о сеансовой обработке.
OpenEdge имеет обработку сессий, построенный в Вот отрывок из thread на Progresstalk:.
На посланному вам нужно установить в $ DLC/свойства/ubroker.porperties: useConnID = 1 в среде разделе веб-справочника вам необходимо установить SESSION_PATH. Этот должен указывать на каталог, в котором вы хотели бы сохранить сеансы переменных. Если вы это сделали, вы можете использовать setSession («VarName», «VarValue») для установки переменных и getSession («Varname») для извлечения значений. Переменные сеанса: , хранящиеся в имени файла ENCODE (SESSION: SERVER-CONNECTION-ID) .tmp.
Этот метод имеет свои недостатки, такие как: Значения всегда сохраняются как символ , а максимальный размер файла - 32K (ну, по крайней мере, это было раньше) и так . Но если материал, который вы собираетесь делать, не слишком сложный, то его хорошая отправная точка. Всегда можно развернуть это, начиная с реализовать собственный SessionManager.
Надеюсь, есть полезная информация, которую вы можете использовать!