Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 可以锁定目录,以便只有单个appdomain可以访问它_Encryption_C# 4.0_Directory_Appdomain - Fatal编程技术网

Encryption 可以锁定目录,以便只有单个appdomain可以访问它

Encryption 可以锁定目录,以便只有单个appdomain可以访问它,encryption,c#-4.0,directory,appdomain,Encryption,C# 4.0,Directory,Appdomain,是否可以在windows和linux(用于mono访问)中锁定只有单个应用程序/用户可以访问的目录 我需要将加密的XML消息写入目录,但不希望任何人删除它们。我怀疑在linux上使用Mono会更容易 如果可能的话,您将使用哪些类来检查,以确保在开始写入之前将其锁定 谢谢。假设您的目录位于NTFS文件系统上,您可以使用所概述的NTFS,或者使用所概述的来自Mono的本机系统调用。棘手的是,每个AppDomain中的代码都需要作为自己的用户运行 我认为使用文件系统支持的任何许可系统锁定父目录会更简单

是否可以在windows和linux(用于mono访问)中锁定只有单个应用程序/用户可以访问的目录

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

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


谢谢。

假设您的目录位于NTFS文件系统上,您可以使用所概述的NTFS,或者使用所概述的来自Mono的本机系统调用。棘手的是,每个AppDomain中的代码都需要作为自己的用户运行

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


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

目前,我正在使用SQLite3DB在writer和reader之间进行同步,但速度没有那么快。你是说设置目录权限会更容易,因为这样会使类变得混乱。其实越简单越好。你可以做很多事情,但这取决于真正的问题是什么。假设您只是将目录用作多个AppDomain之间的“临时”空间,您还可以创建(并维护对其的独占锁定)一个具有标准名称的“密钥”文件,并确保所有AppDomain在访问其他AppDomain之前等待,直到它们能够获得对该文件的独占锁定。如果有更多的信息,我可以给你一个更好的答案。