2013-03-01 3 views
0

Сайт cppcms не содержит пример использования сеансов в асинхронном режиме. Как я могу создать асинхронную систему управления сеансом с помощью cppcms?Пример cppcms для использования сеанса в асинхронном режиме

Добавлено позже: Я использовал этот код для сохранения сеанса:

session()["name"] = ... 
session().save(); 

и где я поместил это:

if(!session().load() || !session().is_set("name")) 
    std::cerr<<"error"; 

При запуске программы появляется сообщение об ошибке. это мой конфигурационный файл (сессионный раздел):

"expire": "renew", 
"timeout": 604800, 
"location": "both", 
"client" : { 
    "hmac": "sha1", 
    "hmac_key": "...", 
}, 
"server":{ 
    "storage": "files" 
} 

ответ

0

Смотрите раздел с заголовком «Теперь давайте создадим нашу главную асинхронную функцию», он обеспечивает сеанс и привязки сокета к сеансу. http://cppcms.com/wikipp/en/page/cppcms_1x_aio

+0

Могу ли я использовать это для сохранения и восстановления информации о пользователе? – JalalJaberi

+0

Да, конечно, см. Следующую ссылку api http://cppcms.com/cppcms_ref/latest/classcppcms_1_1session__interface.html#details. Вы также можете получить текущий сеанс из контекстного объекта. –

+0

session_interface & CppCMS :: HTTP :: Контекст :: Сессия \t (\t \t) \t Получить интерфейс для текущей сессии Примечания при использовании асинхронных CppCMS приложений, данные сеанса не извлекаются и не обновляется, поскольку доступ сеанса может быть не дешево, поэтому при использовании session_interface в асинхронном приложении убедитесь, что вы вызываете функцию session_inerface :: load member –

0

Просто прочитайте руководство:

http://cppcms.com/cppcms_ref/latest/classcppcms_1_1session__interface.html#ae63e68dd2ec1d615f5a6a85bcee36605

Вам необходимо позвонить session().load() перед использованием объекта сеанса.

+0

Я не уверен в этом. Я сделал это и не получил никакого результата. ничего не было загружено – JalalJaberi

0

По умолчанию конфигурация сеанса отключена. Сначала включите его. См. Следующие сведения. http://cppcms.com/wikipp/en/page/cppcms_1x_config#session. После того, как вы настроили сеанс. Остальное - то же, что я ранее говорил. Управление сеансами описано здесь подробно. http://cppcms.com/wikipp/en/page/secure_programming

+0

Я снова обновлю свой вопрос с помощью файла конфигурации. :) – JalalJaberi