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
- DataServiceContext.cs
- ComplexTypeEmitter.cs
- DynamicActionMessageFilter.cs
- TextEditorLists.cs
- RegistryDataKey.cs
- DbInsertCommandTree.cs
- ImagingCache.cs
- Underline.cs
- ReflectEventDescriptor.cs
- StrokeCollection2.cs
- _SslSessionsCache.cs
- DiagnosticStrings.cs
- login.cs
- OledbConnectionStringbuilder.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- DictionaryManager.cs
- SerializationHelper.cs
- SuppressMessageAttribute.cs
- PtsHost.cs
- NativeMethods.cs
- webeventbuffer.cs
- KeyGestureValueSerializer.cs
- ReferencedAssemblyResolver.cs
- _NetRes.cs
- VerticalAlignConverter.cs
- MailBnfHelper.cs
- XmlSchemaElement.cs
- TypeUtils.cs
- PageCodeDomTreeGenerator.cs
- EpmCustomContentWriterNodeData.cs
- WrappedDispatcherException.cs
- nulltextcontainer.cs
- DataGridViewTopRowAccessibleObject.cs
- ImmutableObjectAttribute.cs
- SHA512.cs
- LinqDataSourceContextData.cs
- Token.cs
- FolderBrowserDialog.cs
- GuidelineSet.cs
- SqlConnectionPoolProviderInfo.cs
- MailAddressCollection.cs
- SelectedDatesCollection.cs
- SuppressIldasmAttribute.cs
- Stacktrace.cs
- GPStream.cs
- CreateUserErrorEventArgs.cs
- xdrvalidator.cs
- SystemPens.cs
- ValidationPropertyAttribute.cs
- CatchDesigner.xaml.cs
- PointHitTestResult.cs
- Single.cs
- PackWebRequestFactory.cs
- HtmlControlAdapter.cs
- ClientSettingsSection.cs
- UseAttributeSetsAction.cs
- ReferenceService.cs
- XmlAttribute.cs
- brushes.cs
- ViewUtilities.cs
- GroupBox.cs
- WebPartCloseVerb.cs
- ZoneLinkButton.cs
- MeasureItemEvent.cs
- EditorPartChrome.cs
- LogArchiveSnapshot.cs
- SignatureSummaryDialog.cs
- TransformerTypeCollection.cs
- ItemContainerGenerator.cs
- Point3DCollectionConverter.cs
- dbenumerator.cs
- BaseProcessProtocolHandler.cs
- LongValidatorAttribute.cs
- SqlGenericUtil.cs
- OleDbParameter.cs
- RealizationContext.cs
- QilVisitor.cs
- AppDomainManager.cs
- IApplicationTrustManager.cs
- DrawListViewItemEventArgs.cs
- SessionStateItemCollection.cs
- HttpRawResponse.cs
- ClipboardProcessor.cs
- WebServiceReceiveDesigner.cs
- XmlTextReader.cs
- PreviewControlDesigner.cs
- List.cs
- ToolStripPanel.cs
- CustomTypeDescriptor.cs
- XmlToDatasetMap.cs
- ButtonBaseAdapter.cs
- ValueOfAction.cs
- TypeNameConverter.cs
- XmlProcessingInstruction.cs
- CompilerError.cs
- FormViewDeleteEventArgs.cs
- TreeIterator.cs
- DataMemberFieldConverter.cs
- UnsafeNativeMethods.cs
- DrawingGroup.cs