继续收到此警告&我解除应用程序时出错,无法解决问题。希望有人对此有所了解:
警告:套接字已断开连接,但无法加载会话以传递给已配置的断开连接处理程序:
sails.config.sockets.onDisconnect()
。将伪造的空会话作为生命周期回调的参数传递。细节: 错误:无法加载会话 at _createError(/Users/JAT/Dropbox/Bottage/bottage_app/node_modules/sails/lib/hooks/session/index.js:271:21) 在Immediate._onImmediate(/Users/JAT/Dropbox/Bottage/bottage_app/node_modules/sails/lib/hooks/session/index.js:274:13) at processImmediate [as _immediateCallback](timers.js:358:17){[错误:无法加载会话]代码:' E_SESSION' }
wZVanG编辑:问题已经解决,但我想知道我是否有正确的配置:
sailsrc (我删除了默认情况下创建的Sails
模型,因为我只使用mongoose
),但sockets
我没有删除它们:
"hooks": {"orm": false, "pubsub": false, "blueprints": false}
/config/sessions.js
adapter: 'mongo',
host: 'localhost',
port: 27017,
db: 'page',
collection: 'sessions',
将其存储在我的Mongo数据库中:
{
"_id" : "Nt90RxTcHkOT9aM3qJ1QzxyHlnvFoUuw",
"session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"passport\":{}}",
"expires" : ISODate("2015-07-24T10:59:42.551Z")
}
这是对的吗?
答案 0 :(得分:1)
消息的原因是当您重新启动sails时,会话信息在服务器端被删除,但客户端仍然有会话cookie,当它重新连接时,它会重用前一个会话cookie来识别哪个不再有效,因此服务器记录此警告。
有多种方法可以阻止此消息:
assets/js/dependencies/sails.io.js
和服务器端的客户端删除tasks/pipeline.js
和sails.io.js包含文件将其添加到.sails.rc
:
{
"hooks": {
"sockets": false,
"pubsub": false
}
}