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
- CapabilitiesUse.cs
- OleDbPermission.cs
- AbstractExpressions.cs
- AddInStore.cs
- XsltException.cs
- Globals.cs
- CellIdBoolean.cs
- Parser.cs
- InputBuffer.cs
- BitmapEffectDrawingContextWalker.cs
- WebWorkflowRole.cs
- SmiContextFactory.cs
- WindowInteractionStateTracker.cs
- FocusWithinProperty.cs
- DbProviderFactoriesConfigurationHandler.cs
- AutomationElement.cs
- DataReaderContainer.cs
- InternalEnumValidator.cs
- RijndaelCryptoServiceProvider.cs
- XmlAttributeCache.cs
- IsolatedStorageFile.cs
- AutomationTextAttribute.cs
- ResponseBodyWriter.cs
- KeyedPriorityQueue.cs
- Decoder.cs
- ManagementClass.cs
- ClassImporter.cs
- SqlRemoveConstantOrderBy.cs
- BehaviorEditorPart.cs
- hresults.cs
- PolicyValidationException.cs
- PropertyRecord.cs
- Mappings.cs
- WS2007HttpBindingCollectionElement.cs
- MemberHolder.cs
- StateChangeEvent.cs
- NonParentingControl.cs
- ObjectListCommandCollection.cs
- ListenerElementsCollection.cs
- StatusBarDrawItemEvent.cs
- ImageSource.cs
- XslTransform.cs
- AddInIpcChannel.cs
- InputQueue.cs
- IteratorFilter.cs
- StorageMappingItemCollection.cs
- NativeMethods.cs
- TraceXPathNavigator.cs
- PropertyContainer.cs
- DataColumnPropertyDescriptor.cs
- XmlHierarchyData.cs
- TextDpi.cs
- EdgeModeValidation.cs
- EntitySqlException.cs
- ThemeableAttribute.cs
- PartitionerStatic.cs
- Misc.cs
- ImportDesigner.xaml.cs
- Encoding.cs
- ToolBarPanel.cs
- InvalidateEvent.cs
- SimpleWebHandlerParser.cs
- DrawingBrush.cs
- COM2PictureConverter.cs
- FormattedTextSymbols.cs
- HwndSubclass.cs
- DictionaryContent.cs
- CharacterString.cs
- DesignerCalendarAdapter.cs
- XmlHelper.cs
- SafeFileHandle.cs
- TeredoHelper.cs
- DataGridViewElement.cs
- WebZoneDesigner.cs
- Bind.cs
- ProcessManager.cs
- StringSource.cs
- ExternalException.cs
- CommentAction.cs
- AuthenticatingEventArgs.cs
- Keyboard.cs
- XPathCompileException.cs
- HtmlEncodedRawTextWriter.cs
- Empty.cs
- OwnerDrawPropertyBag.cs
- GridViewRow.cs
- ContentType.cs
- StreamWriter.cs
- ThemeableAttribute.cs
- RemoteCryptoRsaServiceProvider.cs
- AspNetHostingPermission.cs
- FtpRequestCacheValidator.cs
- dtdvalidator.cs
- XmlMemberMapping.cs
- ProcessModelInfo.cs
- DesignerAdapterUtil.cs
- OleDbCommandBuilder.cs
- EntityViewGenerator.cs
- SymmetricKeyWrap.cs
- CroppedBitmap.cs