John Whitmire Ответов: 1

Какова связь между inheritanceflags и propagationflags в security.accesscontrol?


Я выполнял кое-какую работу, которая включала в себя FileSystemAccessRule и ужасно запутаться в этом InheritanceFlags и PropagationFlags. Когда я читаю описания справки в одну сторону, то PropagationFlags кажется излишним. Когда я читаю их по-другому, они кажутся противоречащими друг другу. InheritanceFlags. Что означают три значения PropagationFlags значит, в практическом смысле?

Что я уже пробовал:

Я несколько раз читал справку MSDN и просматривал примеры, опубликованные для вопросов, касающихся FileSystemAccessRule. Большая часть использования PropagationFlags.None но никто не говорит Почему.

1 Ответов

Рейтинг:
2

Gerry Schmitz

Наследование (в данном случае) подразумевает динамическую привязку к свойствам, расположенным выше в иерархии; в то время как распространение подразумевает значения, которые были добавлены или обновлены в каждом экземпляре.

Изменение унаследованного значения подразумевает, что все наследники автоматически "видят" это изменение, когда оно сделано; распространение подразумевает "обновление" всех кандидатов.

Далее подразумевается, что наследуемые значения одинаковы для всех (т. е. доступны только для чтения на уровне экземпляра); отдельные распространяемые значения могут быть изменены на каждом экземпляре, обладающем этим свойством.

Никакая память не должна быть зарезервирована для унаследованного; в то время как каждый экземпляр нуждается в слоте для распространяемого значения.


John Whitmire

Это помогает, Но я все равно не понимаю. Если бы у меня был сценарий, в котором я мог бы использовать PropagateFlags.На что это будет похоже по наследству? В чем разница между PropagateFlags.None и PropagateFlags.NoPropagateInherit? Похоже, что по крайней мере одно из двух значений в AccessRule (наследование или распространение) всегда будет None. Это то, чего мне не хватает?