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
- PageThemeParser.cs
- StringFreezingAttribute.cs
- TextPattern.cs
- XmlSchemaExternal.cs
- DispatchWrapper.cs
- SmtpAuthenticationManager.cs
- UnaryExpression.cs
- ApplicationInfo.cs
- CodeDirectionExpression.cs
- HttpAsyncResult.cs
- XmlChildEnumerator.cs
- ResumeStoryboard.cs
- LogReservationCollection.cs
- BuildManagerHost.cs
- CellParagraph.cs
- dataprotectionpermissionattribute.cs
- StylusButtonCollection.cs
- FormsAuthenticationCredentials.cs
- ForeignKeyConstraint.cs
- SendMailErrorEventArgs.cs
- DataContractSerializerElement.cs
- EndPoint.cs
- UnmanagedHandle.cs
- OpCodes.cs
- Panel.cs
- Calendar.cs
- LogEntry.cs
- HttpListenerContext.cs
- ClientRuntimeConfig.cs
- SequenceFullException.cs
- AppDomainFactory.cs
- BitVector32.cs
- BaseComponentEditor.cs
- SqlCaseSimplifier.cs
- TypeNameConverter.cs
- NullableBoolConverter.cs
- XmlSchemaAttributeGroupRef.cs
- ImageField.cs
- UniqueID.cs
- HtmlPanelAdapter.cs
- XmlChildNodes.cs
- ProgressPage.cs
- ColorConverter.cs
- AspNetCacheProfileAttribute.cs
- AlignmentXValidation.cs
- ControlAdapter.cs
- DateBoldEvent.cs
- PenCursorManager.cs
- __TransparentProxy.cs
- DataObjectMethodAttribute.cs
- XmlDownloadManager.cs
- ReadOnlyTernaryTree.cs
- WeakHashtable.cs
- SqlUtils.cs
- SqlUtil.cs
- LinqExpressionNormalizer.cs
- TransactionFlowAttribute.cs
- QueryContext.cs
- EncryptedData.cs
- PtsCache.cs
- PartialList.cs
- InkCanvasAutomationPeer.cs
- TextClipboardData.cs
- FormatConvertedBitmap.cs
- HttpWebResponse.cs
- FigureParaClient.cs
- MLangCodePageEncoding.cs
- Int64Storage.cs
- ListViewInsertedEventArgs.cs
- RuleSettings.cs
- Function.cs
- controlskin.cs
- CompilationPass2TaskInternal.cs
- SerialPort.cs
- ListItemConverter.cs
- PreProcessInputEventArgs.cs
- BufferCache.cs
- EffectiveValueEntry.cs
- WpfSharedBamlSchemaContext.cs
- XmlILConstructAnalyzer.cs
- AmbientLight.cs
- BindStream.cs
- ToggleProviderWrapper.cs
- InheritanceAttribute.cs
- HitTestResult.cs
- WebPermission.cs
- DataServiceRequestException.cs
- GridEntry.cs
- ToolStripItemEventArgs.cs
- FilteredDataSetHelper.cs
- UIElementHelper.cs
- GeneralTransform3DGroup.cs
- MembershipUser.cs
- ScrollBar.cs
- IPPacketInformation.cs
- SizeF.cs
- DiffuseMaterial.cs
- InputBindingCollection.cs
- ScrollEventArgs.cs
- XmlCodeExporter.cs