gpt4 book ai didi

c# - 使用 C# 开发的 Windows 服务锁定和解锁文件夹

转载 作者:可可西里 更新时间:2023-11-01 10:41:23 25 4
gpt4 key购买 nike

我知道类似的问题已经被问过很多次了,但是没有一个符合我的要求。如果匹配,请随时指导我找到正确答案。

我有一个用 c# .net framework 4.6 开发的 windows 服务。
此 Windows 服务每 1 小时从其他服务接收一次任务(这在这个问题中并不重要)。它实际上处理它接收到的任务。执行完成每个任务大约需要 10-15 分钟。在任务执行过程中,它会在服务器的一个文件夹中生成多个文件。
在 App.config 中,我保存了文件夹路径。举例来说,我有一个值为“C:\Test”的 appsetting。
每个任务都有一个 taskid,例如它是 Task1。所以我们创建一个文件夹,如“C:\Test\Task1”。所有文件都在这里生成。一旦执行完成,这个文件夹就会被删除。

现在我的要求是从它接到一个任务开始,直到执行完成,我必须锁定生成这些文件的文件夹。
我需要在执行完成后立即解锁该文件夹。我的意思是锁定,任何人都不能打开该文件夹。

我知道文件可以被锁定。但是这里如何锁定文件夹。任何人都可以在这里帮助我或指导我正确的文章。
这会很有帮助。非常感谢!

最佳答案

这是可能的,我认为有不止一种方法可以做到这一点。

首先,您必须创建一个临时 windows 帐户。为什么?仅允许一个用户访问此指定目录并删除对其他帐户的访问权限。您可以使用 DirectorySecurity 来完成此操作System.Security.AccessControl 命名空间中可用的类。

还有一个例子附在上面。

PS: A similar post is available at msdn

关于c# - 使用 C# 开发的 Windows 服务锁定和解锁文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com