首页 新闻 会员 周边

.NET 写的网站怎么定义全局变量?(多工作进程)

0
悬赏园豆:50 [待解决问题]

一般写网站都用静态的变量来存储一些数据,以便在内存中使用,但是现在的服务器都是多核心的,因此网站都会配置多工作进程,结果,定义的静态变量只能在自己的进程里面使用,有没有办法在所有的进程中间共享数据,(不要写文件,和写数据库),有没有可以直接访问内存的办法?

问题补充:

我就是想在.NET网站里面记录一个页面访问多少次,用SESSION的话,不开StateServer,不能共享,我用application 也不行,每次刷新显示的值都不一样。

水影倒影的主页 水影倒影 | 初学一级 | 园豆:154
提问于:2012-05-31 19:33
< >
分享
所有回答(5)
0

写SESSION,在当前会话里有效。

写APPLICATION,在当前应用里有效。

无之无 | 园豆:5095 (大侠五级) | 2012-05-31 19:44

SESSION 早都知道不行的,当初做登陆都是用SESSION,结果,发布到服务器上都登陆不上。

昨天写到APPLICATION里面,在IIS的多工作进程里面也不行。

支持(0) 反对(0) 水影倒影 | 园豆:154 (初学一级) | 2012-06-01 07:15

@水影倒影: APPLICATION和SESSION都是跨进程的。要不,就直接用static变量了。

至于IIS怎么解决跨进程的。。。这个倒没多想。

所以,即便你的Web应用是多进程的,用Application或Session也不会有问题。

你的系统出现问题。。。这个,我很抱歉,不知道具体原因,虽然我以前用过多进程的而且没问题。

支持(0) 反对(0) 无之无 | 园豆:5095 (大侠五级) | 2012-06-01 08:56
0

多进程的话,自然是要用进程通信相关的东西了,,,想要直接访问内存的话,可以用内存映射。

http://www.cnblogs.com/zeroone/archive/2012/04/18/2454776.html

路人已 | 园豆:228 (菜鸟二级) | 2012-06-01 07:29
0

直接用缓存不行末?

寒风吹过 | 园豆:149 (初学一级) | 2012-06-01 15:29
0

这就奇怪了,记录页面访问量不存到数据库,哪记录有什么意义呢?难道你还指望访问量能一直被存储在内存中

psforever | 园豆:461 (菜鸟二级) | 2012-06-01 22:33
0

可以通过隐藏域实现,<input type="hidden" />

┢┦偉 | 园豆:1240 (小虾三级) | 2012-06-02 18:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册