Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / SamlAction.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlUrlResolver.cs
- XmlWrappingReader.cs
- FormViewUpdateEventArgs.cs
- QilName.cs
- RuleInfoComparer.cs
- DifferencingCollection.cs
- TextSelection.cs
- SafePEFileHandle.cs
- AttachedProperty.cs
- DetailsViewRowCollection.cs
- OpenFileDialog.cs
- NTAccount.cs
- DataGridViewTopLeftHeaderCell.cs
- ObjectManager.cs
- StsCommunicationException.cs
- _ShellExpression.cs
- PersonalizationProvider.cs
- InvalidWMPVersionException.cs
- RowToFieldTransformer.cs
- ModuleConfigurationInfo.cs
- EditorAttribute.cs
- EntityViewGenerator.cs
- RelationshipSet.cs
- ResourcesGenerator.cs
- UIPropertyMetadata.cs
- SchemaNames.cs
- CollectionsUtil.cs
- InstanceDescriptor.cs
- WindowInteractionStateTracker.cs
- Classification.cs
- IPAddress.cs
- ActivityMetadata.cs
- StrongNameKeyPair.cs
- WebPartsPersonalizationAuthorization.cs
- XmlDeclaration.cs
- CustomErrorsSection.cs
- PrintPageEvent.cs
- ellipse.cs
- ListBindableAttribute.cs
- DataSourceControl.cs
- IdnMapping.cs
- PartialCachingControl.cs
- WindowsAltTab.cs
- TimeStampChecker.cs
- XmlSchemaImporter.cs
- AuthenticatingEventArgs.cs
- MetadataArtifactLoaderFile.cs
- AssemblyInfo.cs
- DataGridCell.cs
- BitmapFrameEncode.cs
- ToolboxDataAttribute.cs
- GeneralTransform3DTo2D.cs
- ReflectEventDescriptor.cs
- CreationContext.cs
- ActivityCollectionMarkupSerializer.cs
- EnumType.cs
- SqlHelper.cs
- Int16AnimationBase.cs
- SmiConnection.cs
- SchemaCollectionCompiler.cs
- DataTableNameHandler.cs
- WebProxyScriptElement.cs
- Psha1DerivedKeyGenerator.cs
- OutOfMemoryException.cs
- SoapIgnoreAttribute.cs
- SubMenuStyle.cs
- BigInt.cs
- AuthenticationConfig.cs
- RegistrationServices.cs
- CultureData.cs
- CompoundFileStreamReference.cs
- AuthorizationRuleCollection.cs
- TabletDevice.cs
- ContentElementAutomationPeer.cs
- UnionExpr.cs
- DataListCommandEventArgs.cs
- ToolStripOverflow.cs
- CornerRadius.cs
- ListViewItem.cs
- DbSetClause.cs
- DecimalConstantAttribute.cs
- DataGridGeneralPage.cs
- XmlNamedNodeMap.cs
- MetafileHeader.cs
- Dispatcher.cs
- KeyInfo.cs
- PromptEventArgs.cs
- Route.cs
- Currency.cs
- SqlDataReaderSmi.cs
- PocoEntityKeyStrategy.cs
- ParameterElement.cs
- ProcessModelInfo.cs
- EnvelopedPkcs7.cs
- TraceInternal.cs
- UserControl.cs
- SqlProfileProvider.cs
- TripleDESCryptoServiceProvider.cs
- TypedDatasetGenerator.cs
- CodeIterationStatement.cs