我有一些代码,我必须重构,重构后速度极慢。
这就是我现在使用的:
DirectoryInfo dInfo = new DirectoryInfo(vPath);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule(GroupName,
FileSystemRights.Read | FileSystemRights.Traverse,
InheritanceFlags.None,
PropagationFlags.None,
AccessControlType.Allow));
dInfo.SetAccessControl(dSecurity);
这是之前的代码,运行速度更快:
// Add a new access control entry (ACE) object (objAce) so that
// the NDSuser has Full Control permissions on NTFS file system files.
objAce1 = new AccessControlEntryClass();
objAce1.Trustee = (objSIdHex).ToString();
objAce1.AccessMask = Maske; //(int)1180159;
objAce1.AceType = (int)ActiveDs.ADS_ACETYPE_ENUM.ADS_ACETYPE_ACCESS_ALLOWED;
objAce1.AceFlags = (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE
| (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ONLY_ACE
| 1;
objDAcl.AddAce(objAce1);
我不知道为什么这需要这么长时间,特别是因为我试图只设置这个文件夹的权限(没有继承/没有传播) - 但是在大文件夹结构上它需要几分钟!