我有一个文件,需要在将一行插入数据库之前确保它存在。插入后,我需要使用 PK 作为文件名的一部分并将其移动到另一个位置。
我如何检查它是否存在然后锁定它以便在我可以插入数据库之前无法删除它然后继续移动文件而不在释放锁定时删除它?
该文件也可能正在使用中。我正在考虑将文件复制到安全位置,然后将该文件移走。在这种情况下,我需要复制一个用于读取的文件。我怎样才能安全地完成上述步骤?
使用 .NET
我有一个文件,需要在将一行插入数据库之前确保它存在。插入后,我需要使用 PK 作为文件名的一部分并将其移动到另一个位置。
我如何检查它是否存在然后锁定它以便在我可以插入数据库之前无法删除它然后继续移动文件而不在释放锁定时删除它?
该文件也可能正在使用中。我正在考虑将文件复制到安全位置,然后将该文件移走。在这种情况下,我需要复制一个用于读取的文件。我怎样才能安全地完成上述步骤?
使用 .NET
为此,您需要带有事务性 NTFS的Windows Vista 。它需要一些 P/Invoke 代码,有关详细信息,请参阅“来自托管代码的 TxF”部分。
有关相关问题,请参阅此线程。