在Now.js中的会话支持

Now.js报价:

只需在nowjs.initialize中传递connect或express http服务器,并且this.user.session应该可用。

所以:

express = require 'express' app = module.exports = express.createServer() connect = require 'connect' nowjs = require 'now' everyone = nowjs.initialize(app) 

这个用户的输出是:

 { clientId: '353725111301231610', cookie: { 'connect.sid': 's0meC00k1e1nF0rm4ti0n' }, session: undefined } 

任何想法为什么会议是不确定的?

我遇到了这个问题,结果发生了,因为我在configurationexpress之前正在初始化NowJS。

 app.configure(function(){ ... app.use(express.cookieParser()); app.use(express.session({ secret: "my_key", store: redisStore })); app.use(app.router); }); var everyone = nowjs.initialize(app); //must be defined after app.configure 

有一点需要注意的是,会话不会被设置,直到向服务器发出请求,所以如果服务器被重置,客户端套接字将重新连接,但会话将不确定,直到浏览器刷新页面。

我设法find一个解决scheme(CoffeeScript),为每个“每个人” – 请求:

 self = this sid = decodeURIComponent(this.user.cookie['connect.sid']) sessionStore.get sid, (err, session) -> self.user.session = session <<more code here>> 

任何方式直接到this.user.session?