在一个asp.net web应用程序中,我想写入一个文件。该功能将首先从数据库中获取数据,然后写出平面文件。想写入一个文件,但一次可能有多个写入者,需要锁定
我该怎么做才能确保只发生1次写入,一旦发生写入,写入之后可能要写入文件的其他线程就不会发生。
我想只在15分钟内完成这个写操作。
我知道有一个锁关键字,所以我应该将所有内容都包含在一个锁中,然后检查它是否已在15分钟或更长时间内更新,或者反之亦然?
更新
工作流程:
因为这是一个Web应用程序,多个实例将是人查看特定网页。我可以使用缓存系统中的构建,但是如果asp.net重新使用,重建缓存将会很昂贵,所以我只想将其写入一个平面文件。我的其他选择只是创建一个Windows服务,但这是更多的工作来管理我想要的。
所有的写入是在单个应用程序的单个实例中发生的吗?或者,应用程序的多个实例会试图同时写入,还是会尝试同时写入不同的应用程序? – 2008-09-18 15:34:12