После CF7 Adobe исправила проблему установки переменных сеанса в том же запросе, что и тег <cflocation>
. Это больше не проблема.
Вероятной причиной прекращения сеанса является то, что BlackBerry удаляет файлы cookie сеанса (cfid, cftoken или jsessionid), когда он запускает браузер из закладки на главном экране. Я видел такое же поведение в iPhone, возможно, что BB тоже делает это.
Чтобы подтвердить (или опровергнуть), что это так, настройте простую страницу с выводом:
<cfdump var="#session#">
<cfdump var="#getHttpRequestData()#">
Перейдите на эту страницу на вашем BB «обычным» способом, введя URL-адрес вручную. При первой загрузке страницы она создает сеанс (и отправляет обратно связанные файлы cookie сеанса). Перезагрузите страницу, и вы увидите в дампе http-запроса заголовок cookie (request.headers.cookie
). Он будет содержать ту же информацию о сеансе, что вы видите в дампе сеанса над ним.
Теперь используйте закладку главного экрана, чтобы загрузить страницу. Если BB на самом деле удаляет ваши сеансовые куки, то request.headers.cookie
там не будет и будут даны новые идентификаторы сеанса.