可以锁定目录,因此只有一个appdomain可以访问它

时间:2011-01-29 16:43:30

标签: encryption c#-4.0 directory appdomain

是否可以锁定Windows和Linux上的目录(单声道访问),只有一个应用程序/用户可以访问它?

我需要将加密的XML消息写入目录,但不希望任何人删除它们。我怀疑在Linux上使用Mono会更容易。

如果可能,您将使用哪些类来检查以确保在开始写入之前将其锁定。

感谢。

1 个答案:

答案 0 :(得分:0)

假设您的目录位于NTFS文件系统上,您可以按照概述here使用NTFS,或按照概述here使用Mono的本机系统调用。棘手的一点是,每个AppDomain中的代码都需要像它自己的用户一样运行。

我认为使用文件系统支持的任何权限系统来锁定父目录会更简单,这样用户就无法手动删除这些文件,但应用程序的用户可以创建和读取它们,然后确保程序逻辑不允许AppDomain踩到另一个文件。

如果您只是在寻找同步(意味着您不希望多个线程同时访问相同的文件),您可以使用中央注册表(数据库表或其他一些事务存储)来保持同步追踪谁在写什么。