Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / SamlAction.cs / 1 / SamlAction.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IdentityModel.Tokens; using System.IdentityModel.Selectors; using System.Xml; using System.Xml.Serialization; using System.Runtime.Serialization; public class SamlAction { string ns; string action; bool isReadOnly = false; public SamlAction(string action) : this(action, null) { } public SamlAction(string action, string ns) { if (String.IsNullOrEmpty(action)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("action", SR.GetString(SR.SAMLActionNameRequired)); this.action = action; this.ns = ns; } public SamlAction() { } public string Action { get {return this.action; } set { if (isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); if (String.IsNullOrEmpty(value)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("value", SR.GetString(SR.SAMLActionNameRequired)); this.action = value; } } public string Namespace { get { return this.ns; } set { if (isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); this.ns = value; } } public bool IsReadOnly { get { return this.isReadOnly; } } public void MakeReadOnly() { this.isReadOnly = true; } void CheckObjectValidity() { if (String.IsNullOrEmpty(action)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityTokenException(SR.GetString(SR.SAMLActionNameRequired))); } public virtual void ReadXml(XmlDictionaryReader reader, SamlSerializer samlSerializer, SecurityTokenSerializer keyInfoSerializer, SecurityTokenResolver outOfBandTokenResolver) { if (reader == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("reader")); if (samlSerializer == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("samlSerializer")); #pragma warning suppress 56506 // samlSerializer.DictionaryManager is never null. SamlDictionary dictionary = samlSerializer.DictionaryManager.SamlDictionary; if (reader.IsStartElement(dictionary.Action, dictionary.Namespace)) { // The Namespace attribute is optional. this.ns = reader.GetAttribute(dictionary.ActionNamespaceAttribute, null); reader.MoveToContent(); this.action = reader.ReadString(); if (string.IsNullOrEmpty(this.action)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityTokenException(SR.GetString(SR.SAMLActionNameRequiredOnRead))); reader.MoveToContent(); reader.ReadEndElement(); } } public virtual void WriteXml(XmlDictionaryWriter writer, SamlSerializer samlSerializer, SecurityTokenSerializer keyInfoSerializer) { CheckObjectValidity(); if (writer == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("writer")); if (samlSerializer == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("samlSerializer")); #pragma warning suppress 56506 // samlSerializer.DictionaryManager is never null. SamlDictionary dictionary = samlSerializer.DictionaryManager.SamlDictionary; writer.WriteStartElement(dictionary.PreferredPrefix.Value, dictionary.Action, dictionary.Namespace); if (this.ns != null) { writer.WriteStartAttribute(dictionary.ActionNamespaceAttribute, null); writer.WriteString(this.ns); writer.WriteEndAttribute(); } writer.WriteString(this.action); writer.WriteEndElement(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Enum.cs
- GridViewRowCollection.cs
- WinFormsSpinner.cs
- ICspAsymmetricAlgorithm.cs
- Aggregates.cs
- RecordManager.cs
- GraphicsPathIterator.cs
- PerformanceCounterLib.cs
- MD5.cs
- UpdateTracker.cs
- ProcessHostConfigUtils.cs
- CompilationLock.cs
- mactripleDES.cs
- CacheDependency.cs
- BinaryObjectInfo.cs
- InputBindingCollection.cs
- XamlReader.cs
- FlowDocumentFormatter.cs
- LoadedEvent.cs
- StreamWithDictionary.cs
- xmlformatgeneratorstatics.cs
- PartitionerQueryOperator.cs
- mediaeventargs.cs
- controlskin.cs
- TreeNodeClickEventArgs.cs
- DispatcherSynchronizationContext.cs
- FunctionOverloadResolver.cs
- AlphaSortedEnumConverter.cs
- TextProviderWrapper.cs
- EndpointIdentity.cs
- ListViewInsertionMark.cs
- RTLAwareMessageBox.cs
- Module.cs
- MenuItemBinding.cs
- FormatVersion.cs
- SqlRowUpdatingEvent.cs
- LookupBindingPropertiesAttribute.cs
- CodeDelegateInvokeExpression.cs
- Selector.cs
- SetStateDesigner.cs
- MinimizableAttributeTypeConverter.cs
- AspNetCompatibilityRequirementsAttribute.cs
- CategoryEditor.cs
- Parser.cs
- ConfigurationPropertyCollection.cs
- OleTxTransactionInfo.cs
- SecurityChannelFaultConverter.cs
- MaskDesignerDialog.cs
- PersistenceMetadataNamespace.cs
- EntityDataSourceChangedEventArgs.cs
- Configuration.cs
- TextElementCollection.cs
- ListBoxItemAutomationPeer.cs
- ResourceManagerWrapper.cs
- Lasso.cs
- ComponentResourceKey.cs
- FontFamilyValueSerializer.cs
- DataGridColumnEventArgs.cs
- CatalogPartChrome.cs
- XmlSerializerSection.cs
- unitconverter.cs
- QuaternionAnimationUsingKeyFrames.cs
- ImageAttributes.cs
- EditorAttributeInfo.cs
- DocumentsTrace.cs
- EntryWrittenEventArgs.cs
- _KerberosClient.cs
- XmlNodeList.cs
- CalendarDesigner.cs
- CorrelationValidator.cs
- Classification.cs
- XmlNotation.cs
- ImageMapEventArgs.cs
- NativeMethods.cs
- SqlConnectionFactory.cs
- GlobalAclOperationRequirement.cs
- WebServiceFaultDesigner.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- MetadataArtifactLoaderFile.cs
- SignedInfo.cs
- MetadataArtifactLoaderCompositeResource.cs
- DocumentViewerHelper.cs
- PageContent.cs
- RequiredAttributeAttribute.cs
- ComponentChangedEvent.cs
- MouseOverProperty.cs
- SqlHelper.cs
- GenericsInstances.cs
- Clock.cs
- SHA384.cs
- Interop.cs
- PageParser.cs
- AsymmetricSignatureFormatter.cs
- ReflectionPermission.cs
- ComponentSerializationService.cs
- ExpressionConverter.cs
- ZoneMembershipCondition.cs
- BehaviorEditorPart.cs
- ByteStream.cs
- Bezier.cs