Encryption 可以锁定目录,以便只有单个appdomain可以访问它
是否可以在windows和linux(用于mono访问)中锁定只有单个应用程序/用户可以访问的目录 我需要将加密的XML消息写入目录,但不希望任何人删除它们。我怀疑在linux上使用Mono会更容易 如果可能的话,您将使用哪些类来检查,以确保在开始写入之前将其锁定Encryption 可以锁定目录,以便只有单个appdomain可以访问它,encryption,c#-4.0,directory,appdomain,Encryption,C# 4.0,Directory,Appdomain,是否可以在windows和linux(用于mono访问)中锁定只有单个应用程序/用户可以访问的目录 我需要将加密的XML消息写入目录,但不希望任何人删除它们。我怀疑在linux上使用Mono会更容易 如果可能的话,您将使用哪些类来检查,以确保在开始写入之前将其锁定 谢谢。假设您的目录位于NTFS文件系统上,您可以使用所概述的NTFS,或者使用所概述的来自Mono的本机系统调用。棘手的是,每个AppDomain中的代码都需要作为自己的用户运行 我认为使用文件系统支持的任何许可系统锁定父目录会更简单
谢谢。假设您的目录位于NTFS文件系统上,您可以使用所概述的NTFS,或者使用所概述的来自Mono的本机系统调用。棘手的是,每个AppDomain中的代码都需要作为自己的用户运行 我认为使用文件系统支持的任何许可系统锁定父目录会更简单,这样用户就不能手动删除这些文件,但应用程序的用户可以创建和读取这些文件,然后确保程序逻辑不允许AppDomain步进另一个文件
如果您只是在寻找同步(这意味着您不希望多个线程同时访问相同的文件),那么您可以使用一个中央注册表(数据库表或其他事务存储)跟踪谁在写什么。目前,我正在使用SQLite3DB在writer和reader之间进行同步,但速度没有那么快。你是说设置目录权限会更容易,因为这样会使类变得混乱。其实越简单越好。你可以做很多事情,但这取决于真正的问题是什么。假设您只是将目录用作多个AppDomain之间的“临时”空间,您还可以创建(并维护对其的独占锁定)一个具有标准名称的“密钥”文件,并确保所有AppDomain在访问其他AppDomain之前等待,直到它们能够获得对该文件的独占锁定。如果有更多的信息,我可以给你一个更好的答案。