Brook

笃笃笃

Node.js使用iis管理器中session丢失处理

/**

 *2015/11/20 

 */

服务器环境:Server 2008 r2 

Iis管理器版本:6.1

项目:Node.js

原因:Node.js中的session丢失

 

解决方案:

1.memcached安装

1.1下载Memcached

1.2 cmd > memcached -d install

1.3 cmd > 输入 memcached -h第一行有版本输出安装好了

2.app.js添加修改

2.1添加

var connect = require('connect');

var MemcachedClient = require('./tooles/memcached_helper.js');
var MemcacheStore = require('connect-memcached')(connect);

在var app = express();下添加

MemcachedClient.init();

2.2修改

app.use(usession({

........

}));

改为

app.use(session({
    secret: 'rob_admin',
    name:'rob_admin',
    cookie:{maxAge:800000},
    secret: 'AuthenticationSecret',
    store: new MemcacheStore({client: MemcachedClient}),
    resave:false,
    saveUninitialized: true
}));

3.新建tooles/memcached_helper.js

内容如下:

(function(){
    var memconfig = require('../serverconfig.js').Memcached;
    var Memcached =require('memcached');
    Memcached.config.poolSize = 100;
    dummy: function dummy(error, ok) {
        if(error){
            console.error('memcached err:',JSON.stringify(error));
        }
    }
    module.exports = {
        init: function ctor() {
            memcachedClient = new Memcached(memconfig.host+':'+memconfig.port,{poolSize:100});
            console.log("memcached is started! host"+memconfig.host+':'+memconfig.port);
        },
        set: function addToCache(key, val, expire, callback) {
            if (!expire) expire = 5*60; //sec
            if (!callback) callback = dummy;
            memcachedClient.set(key, val, expire, callback);
        },
        get: function getFromCache(key, callback) {
            if (!callback) callback = dummy;
            memcachedClient.get(key, callback);
        },
        del:function delFromCache(key,callback){
            if (!callback) callback = dummy;
            memcachedClient.del(key,callback);
        }
    };
}).call(this);

3.1新建/serverconfig.js

(function(){

    //缓存服务器配置
    var Memcached={
        host:'192.168.1.108',
        port:11211
    }
    module.exports = {
        Memcached:Memcached
    };

}).call(this);

----------------------------------------------------------------------------------------


阅读更多
版权声明:感觉好就Make一下 https://blog.csdn.net/u012299002/article/details/49946753
个人分类: Node.js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Node.js使用iis管理器中session丢失处理

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭