2014-01-15 24 views
1

我有一个快速应用程序,我使用收到的每个请求的域名。我已经添加了一个中间件来确保任何进一步的中间件都在域内“执行”。是否需要处理node.js域名?何时完成?

app.use(function(req, res, next) { 
    var d = domain.create(); 

    d.req = req; 

    d.add(req); 
    d.add(res); 

    d.run(next); 
}); 

此外,一些代码,同时请求被处理被执行使用process.domain.req去初始请求一个参考,它的头,饼干等...我这样做的原因:”我无法通过req直接到此代码。这个奇怪的代码是一种跨环境的代码(对于浏览器和节点),它不知道它在哪里执行。在底层,Node和浏览器实现了不同的基础层,特别是网络代码。对于浏览器来说,它是一个XMLHttpRequest,对于NodeJS来说,它是一个基于request库的自定义包装。

我很担心内存泄漏。该文件引用了存储在域中的req。他们可以保留这些东西,让他们不被垃圾收集?

另外,我是否需要定期处理域名,还是需要在某些边缘/错误情况下处理它们?

回答

相关问题