【发布时间】:2019-02-07 06:54:23
【问题描述】:
我知道类似的问题已经被问过很多次了,但没有什么符合我的要求。如果匹配,请随时指导我找到正确的答案。
我有一个用c#,.net framework 4.6开发的windows服务。
此 Windows 服务每 1 小时从其他服务接收一个任务(这在这个问题中并不重要)。它实际上处理它接收到的任务。完成每个任务大约需要 10-15 分钟。
在任务执行过程中,它会在服务器的一个文件夹中生成多个文件。
在 App.config 中,我保存了文件夹路径。例如,我有 appsetting,其值为“C:\Test”。
每个任务都有一个taskid,例如它是Task1。所以我们创建一个像“C:\Test\Task1”这样的文件夹。所有文件都在这里生成。一旦执行完成,这个文件夹就会被删除。
现在我的要求是从收到任务到执行完成,我必须锁定生成这些文件的文件夹。
执行完成后,我需要立即解锁文件夹。锁定是指,没有人应该能够打开此文件夹。
我知道文件可以被锁定。但是如何在这里锁定文件夹。任何人都可以在这里帮助我或指导我正确的文章。
这会很有帮助。非常感谢!
【问题讨论】:
-
这个“锁”是为了防止什么?意外访问还是恶意访问?具体来说,您要防范什么?
-
我认为,解决方案将是特定于操作系统(Windows)的。也许你应该添加 windows 标签。
-
@Damien_The_Unbeliever,我的意思是锁,它不应该是可访问的。原因是,我们正在客户的服务器中部署此服务。以及作为一些机密信息生成的文件。而且我们不希望客户访问这些文件。
-
那么不要把它们放在他们的电脑上。您试图阻止访问的任何其他操作都会被规避。
标签: c# windows windows-services .net-4.6