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
- StringExpressionSet.cs
- StandardToolWindows.cs
- TriState.cs
- BufferCache.cs
- WebProxyScriptElement.cs
- OdbcConnectionHandle.cs
- Library.cs
- MappingSource.cs
- MarkupWriter.cs
- MouseEventArgs.cs
- TimersDescriptionAttribute.cs
- EntityStoreSchemaFilterEntry.cs
- InfiniteTimeSpanConverter.cs
- XmlNavigatorFilter.cs
- ProfileParameter.cs
- UserControl.cs
- XmlIgnoreAttribute.cs
- GeneralTransformCollection.cs
- DataSetUtil.cs
- GridViewColumnHeader.cs
- XmlSchemaObject.cs
- StreamGeometry.cs
- ComponentFactoryHelpers.cs
- CapiSafeHandles.cs
- ColorConvertedBitmap.cs
- MatrixUtil.cs
- PeerNameRecord.cs
- ConstructorBuilder.cs
- XmlRawWriter.cs
- FilterableAttribute.cs
- MediaEntryAttribute.cs
- DataTrigger.cs
- X509SecurityToken.cs
- PageThemeParser.cs
- CollectionChangedEventManager.cs
- basevalidator.cs
- Funcletizer.cs
- AppSettingsReader.cs
- ManifestResourceInfo.cs
- FontNamesConverter.cs
- PropertyChangingEventArgs.cs
- ClientConfigPaths.cs
- PcmConverter.cs
- ServiceChannelFactory.cs
- DesignerTransactionCloseEvent.cs
- ComplexPropertyEntry.cs
- SqlDataSource.cs
- DataGridViewImageCell.cs
- XamlWriter.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ButtonChrome.cs
- controlskin.cs
- BrowserDefinition.cs
- TypeCacheManager.cs
- JsonStringDataContract.cs
- ModelFunctionTypeElement.cs
- Stroke.cs
- MarshalByRefObject.cs
- XmlSchemaCollection.cs
- HttpVersion.cs
- SoapAttributes.cs
- PenContexts.cs
- ParseChildrenAsPropertiesAttribute.cs
- ViewLoader.cs
- ScriptReferenceBase.cs
- LostFocusEventManager.cs
- LightweightCodeGenerator.cs
- UrlAuthorizationModule.cs
- Certificate.cs
- ObjectHelper.cs
- __Error.cs
- FigureHelper.cs
- StackBuilderSink.cs
- LinqDataSourceHelper.cs
- SizeKeyFrameCollection.cs
- XmlSchemaRedefine.cs
- ItemCheckEvent.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- DbDeleteCommandTree.cs
- RefreshResponseInfo.cs
- RenderDataDrawingContext.cs
- DurableInstancingOptions.cs
- StringHandle.cs
- StateManagedCollection.cs
- MetadataArtifactLoader.cs
- Point3DCollection.cs
- StorageEntityTypeMapping.cs
- ProcessHostServerConfig.cs
- ObjectListField.cs
- DataGridTablesFactory.cs
- DesignRelation.cs
- odbcmetadatafactory.cs
- OledbConnectionStringbuilder.cs
- PageFunction.cs
- ConditionCollection.cs
- XmlSchemaAttributeGroupRef.cs
- prompt.cs
- BitmapDownload.cs
- WebPartHeaderCloseVerb.cs
- ButtonChrome.cs