public void Add(ChannelProtectionRequirements protectionRequirements, bool channelScopeOnly) { if (protectionRequirements == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(protectionRequirements)); } if (protectionRequirements.IncomingSignatureParts != null) { IncomingSignatureParts.AddParts(protectionRequirements.IncomingSignatureParts.ChannelParts); } if (protectionRequirements.IncomingEncryptionParts != null) { IncomingEncryptionParts.AddParts(protectionRequirements.IncomingEncryptionParts.ChannelParts); } if (protectionRequirements.OutgoingSignatureParts != null) { OutgoingSignatureParts.AddParts(protectionRequirements.OutgoingSignatureParts.ChannelParts); } if (protectionRequirements.OutgoingEncryptionParts != null) { OutgoingEncryptionParts.AddParts(protectionRequirements.OutgoingEncryptionParts.ChannelParts); } if (!channelScopeOnly) { AddActionParts(IncomingSignatureParts, protectionRequirements.IncomingSignatureParts); AddActionParts(IncomingEncryptionParts, protectionRequirements.IncomingEncryptionParts); AddActionParts(OutgoingSignatureParts, protectionRequirements.OutgoingSignatureParts); AddActionParts(OutgoingEncryptionParts, protectionRequirements.OutgoingEncryptionParts); } }
public void MakeReadOnly() { if (!_isReadOnly) { IncomingSignatureParts.MakeReadOnly(); IncomingEncryptionParts.MakeReadOnly(); OutgoingSignatureParts.MakeReadOnly(); OutgoingEncryptionParts.MakeReadOnly(); _isReadOnly = true; } }