都是通过HttpAppFramework
单例调用,timeout参数代表了会话失效的时间,单位是秒,框架默认值是1200,即如果用户20分钟以上没有访问应用,则他对应的会话就失效了。timeout设置为0表示drogon将在整个生存期保留用户的会话;
打开会话特性前请确定你的客户端支持cookie,否则,drogon会为每次不含SessionID的请求创建新的会话,这会白白浪费内存和计算资源。
drogon框架会把会话对象放到HttpRequest
对象里传递给用户,用户可以通过类的如下接口获取Session
对象。
获得的是Session对象的智能指针,通过它可以存取各种对象;
会话的例子
我们创建一个Filter来实现这个功能,假设类名是TimeFilter,实现如下:
我们再注册一个lambda表达式到/slow
路径上,同时附加上TimeFilter,代码如下:
用cmake重新编译整个工程,运行目标程序webapp,就可以通过浏览器看到效果了。