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
- WebPartConnectionsCloseVerb.cs
- Queue.cs
- KeyboardEventArgs.cs
- X509ChainElement.cs
- ModelVisual3D.cs
- PrintingPermissionAttribute.cs
- FontStretches.cs
- EncryptedReference.cs
- AnonymousIdentificationModule.cs
- AppDomainAttributes.cs
- DateTimeValueSerializerContext.cs
- DataColumnCollection.cs
- TreeViewBindingsEditor.cs
- FilteredAttributeCollection.cs
- ExtenderControl.cs
- DataGridViewCellStyleChangedEventArgs.cs
- CurrentTimeZone.cs
- VirtualDirectoryMappingCollection.cs
- FileDialogPermission.cs
- DictionaryChange.cs
- IApplicationTrustManager.cs
- TimeZoneNotFoundException.cs
- SHA512.cs
- EntityDataSourceWizardForm.cs
- DoubleAnimationClockResource.cs
- PackagePartCollection.cs
- TaskHelper.cs
- ScrollBar.cs
- QueryCacheEntry.cs
- SmtpNetworkElement.cs
- XmlLinkedNode.cs
- BitmapEffectInputConnector.cs
- XmlILIndex.cs
- TabControlToolboxItem.cs
- UnitySerializationHolder.cs
- InputScopeManager.cs
- NameService.cs
- Button.cs
- TypeBuilderInstantiation.cs
- FormsAuthenticationUser.cs
- __FastResourceComparer.cs
- KerberosTokenFactoryCredential.cs
- TableChangeProcessor.cs
- InputLanguageCollection.cs
- FontInfo.cs
- PersistenceTypeAttribute.cs
- FileDialog.cs
- LinqExpressionNormalizer.cs
- SqlDataSourceConfigureSortForm.cs
- EditCommandColumn.cs
- Membership.cs
- RectangleHotSpot.cs
- DataGridColumn.cs
- Calendar.cs
- ContentPlaceHolder.cs
- WindowsProgressbar.cs
- Button.cs
- OLEDB_Util.cs
- XamlDesignerSerializationManager.cs
- DelegatingTypeDescriptionProvider.cs
- OleDbTransaction.cs
- Span.cs
- CodeExporter.cs
- EncodingDataItem.cs
- ComponentResourceManager.cs
- FileAuthorizationModule.cs
- CodeTypeMember.cs
- VoiceChangeEventArgs.cs
- DataGridViewColumnConverter.cs
- PopOutPanel.cs
- MatrixConverter.cs
- ToolStripControlHost.cs
- SafePointer.cs
- WindowsScroll.cs
- XmlEntity.cs
- FileLoadException.cs
- PropertyDescriptorGridEntry.cs
- IntSecurity.cs
- PlatformCulture.cs
- Timer.cs
- LocalizabilityAttribute.cs
- TaskFormBase.cs
- BooleanStorage.cs
- NetDataContractSerializer.cs
- StringToken.cs
- AnonymousIdentificationModule.cs
- PenCursorManager.cs
- ApplyImportsAction.cs
- MouseButton.cs
- _AcceptOverlappedAsyncResult.cs
- CodeAttributeArgumentCollection.cs
- CodeTypeDeclaration.cs
- HandledMouseEvent.cs
- StrokeNodeOperations.cs
- DummyDataSource.cs
- AuthenticationModulesSection.cs
- remotingproxy.cs
- SystemPens.cs
- BitmapSourceSafeMILHandle.cs
- SortKey.cs