◆◇◆ 关于将大量数据保存(缓存)在内存中的问题! ◆◇◆ 现在我有控制台应用程序 A,A 有配置文件 B,B 中以 XML 格式保存了三千多行数据。现在我通过存储过程调用 A,有可能每秒钟几十次。A 执行某些操作后自动退出。由于 B 文件比较大且很少改变。所以我想将当 A 第一次运行的时候读 B,并将数据保存在内存中,以后 A 再运行时先判断内存中保存的数据是否为空,如果为空则填充否则读取。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 To Ivony():就是说我希望某些变量当应用程序关闭时不被回收,当应用程序再次运行时可以继续使用。 不要让进程结束如果A是有参数的,就想办法保存这些参数,然后A获取这些参数我想至少比反复读取B好 静态字段就可以了static string 个人认为不能实现...像你这种情况我觉得最好把数据解析后存到数据库中,这样应用程序每次启动就直接读数据库就行了...这样比你每次启动再读xml,再分析xml效率要高点吧... 楼主的意思应该是应用程序关闭了,然后等下次再启动程序时,直接用上一次的数据,而不是再读xml文件了... liujia_0421(SnowLover) 说的对。我就是那个意思。 可以考虑用webservice,Application_start时将xml数据读入一个静态对象中,只要你的IIS不重新启动,对象就一直存在...你的控制台程序可以引用这个webservice,然后通过webservice发布的方法来得到对象...不过似乎这样就麻烦多了... //不要让进程结束同意,让他Sleep好了 对于 static变量个人 认为 是 一种灾难...楼主可以用Application对象来保存... 各位,请注意:我的应用程序不是WEB应用程序,而是控制台应用程序。 做个Windows服务来帮你存在内存里…… TO:我的应用程序不是WEB应用程序,而是控制台应用程序。一个方法就是你的控制台程序不关闭...另外一个方法就是找一个不关闭的应用程序或者说进程,比如WindowService或者Webservice...我说到用Webservice并不是我把你的程序当作web程序了,我的意思是说可以另写一个webservice项目,然后在你的控制台程序中引用这个webservice,通过webservice来达到保存数据的作用..(当然如果IIS重新启动了,数据也就没有了,得重新加载)...不知道还有没有更好的方法....仅供参考... 如何用C#语言计算一个简体汉字的笔画数? backgroundWorker 无法调用 RunWorkerCompleted C#中嵌套类的问题 进程调度问题 有关时间,日期的SQL查询语句 关于Directshow的接口问题 C#自定义控件问题求助,最后30分啦 关于Utility Library中ProgressBarEx的一个问题 初学者问路? 初学C#语言,从何入手?马上结帖!!!! VS2005开发基于PDA的规章查询系统的问题 下载代码运行奇慢,为什么啊?
如果A是有参数的,就想办法保存这些参数,然后A获取这些参数
我想至少比反复读取B好
static string
同意,让他Sleep好了