ASP.NET网站在运行过程中,会每隔一段时间(有可能是一个小时,也有可能20分钟等等)自动重启下,即自动调用Application_Start(),而我在该函数中会调用一个方法,实现将硬盘文件中的数据加载到内存中,以备以后使用,而这个文件数据比较大,所以这个加载过程需要10到20分钟,所以会使得网站在这个时间段内无法访问。换句话说,也就是自动重启一下网站,网站就要10到20分钟无法访问,这有点让人无法接受。所以我想问下大虾们,有没有什么办法可以不让它自动重启;或者采用其他办法使得我加载到内存的数据,能够永久驻留在内存中,并且都有效,直到机器关闭为止,这样的话,网站自动重启也就无大碍了。我想到的方法是写一个WinForm,让它去加载数据,然后Asp.net去调用这些数据,不知道这样能否实现,望大家能够赐教。
解决方案 »
- 怎么在分页中让复选框不消失
- ASPX如何设计成打印的内容与显示内容不一致
- 多单位使用同一系统的问题
- 文件--》新建-->网站。弹出的却不是建网站的项目窗口,不知为何
- ASP.net 2.0 网站管理工具问题
- 我想用c#三层结构的oa换c#三层结构的全站程序学习。
- 疑问,在一个页面上,能不能同时用VB和C#编程,谢谢
- 怎样自动添加<link ref="stylesheet" type="text/css" href="/my/Style/Default.css">到<head>和</head>之间
- 如何使用XSL实现遍历
- 动态生成控件问题,
- 在样式中给一个button设定了背景图片,但是不怎么回事不显示
- js中缺少“;”
一般情况下asp.net系统不是在第一次访问时初始化,知道没有人访问的一定时间后才会退出,回收资源的吗!
我觉得楼主可以在另一个进程内做持久化数据在内存中的工作,比如另开一个service进程,他就负责定时维护和更新数据,这样你的asp.net进程即使退出也没关系,随时都可以通过服务调用内存中的数据。
为一个没有人访问的系统随时准备60G数据在内存里?这合理么?如果是统计的话,为什么不是查询已经统计好的数据而是在访问的时候才统计呢?
做统计使用SQL SERVER等数据层实现,分布式
更新呢,总不能一直就那么放在那里吧!比较好的方法是用数据库作业的方式产生中间表,再去查询中间表