Node.js Express.js在使用会话时没有响应

Node.js Express.js在使用会话时没有响应,node.js,session,redis,express,Node.js,Session,Redis,Express,这是我的应用程序: var express = require('express'), app = express.createServer(), RedisStore = require('connect-redis')(express); app.configure (function(){ app.use (express.logger({ format: ":method :url" })); app.use (express.bodyParser())

这是我的应用程序:

var express = require('express'),
    app = express.createServer(),
    RedisStore = require('connect-redis')(express);

app.configure (function(){
    app.use (express.logger({ format: ":method :url" }));
    app.use (express.bodyParser());
    app.use (express.cookieParser());
    app.use (express.session({ store: new RedisStore, secret: "totally random string" }));
});
app.configure ('development', function () {
    console.log ("Development mode.");
});
app.configure ('production', function () {
    console.log ("Production mode.");
});

app.get ('/', function (req, res) {
    res.contentType("text/html");
    res.send("hello", 200);
    res.end();
})

console.log ("Listening to *:"+8006);
app.listen (8006);
当我使用localhost:8006时,它会挂起在浏览器中/

知道怎么了吗?我可能遗漏了一个小细节。
app.use(express.session…
行被注释掉时,它会工作

谢谢

删除
res.end()
,它会停止挂起并呈现页面

var express = require('express'),
    app = express.createServer();

app.configure (function(){
    app.use (express.logger({ format: ":method :url" }));
    app.use (express.bodyParser());
    app.use (express.cookieParser());
});

app.configure ('development', function () {
    console.log ("Development mode.");
});
app.configure ('production', function () {
    console.log ("Production mode.");
});

app.get ('/', function (req, res) {
    res.contentType("text/html");
    res.send("hello");
})

console.log ("Listening to *:"+8006);
app.listen (8006);

您使用的是什么版本的express?:)只是想澄清一点,其原因是
res.send
是通过express添加到节点的
http.ServerResponse
类中的方法,而
res.end
是本机方法。除此之外,
res.send
在完成时调用
res.end
,然后自己调用
res.end
会给您带来麻烦,因为它不是设计为被调用两次的(事实上,到那时响应对象可能不再有效)。谢谢。“终止”连接是有意义的,就像在没有快递的情况下那样。。为我节省了几个小时,谢谢