我正在编写ASP.NET Web窗体应用程序。
每次请求到达我的aspx页面时,我都会使用一个对象来做一些逻辑。此对象从预先生成的文件中反序列化。
我的aspx页面会有很多请求,因此每次请求进入时我都不想反序列化此对象。因为我记得,ASP.NET将提供不同的请求不同的线程。读取该文件的一个线程将阻止其他线程读取该文件。所以伤害了表现。(但我不确定,如果我错了,请纠正我。)
该文件将每周或每两周更新一次。所以我需要在文件更新后重新反序列化相应的对象。
我的问题是:
我目前的计划是:
这个设计好吗?有没有更合理的设计?
感谢。
答案 0 :(得分:0)
将文件存储在App_Data。
中FileSystemWatcher还可以,但我建议将它作为Windows服务运行。您可以拥有专门用于刷新缓存的页面(例如:www.webpage.com/refreshcache.aspx)。您也可以设置一个调度程序来每晚刷新缓存。