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
- JournalEntryListConverter.cs
- EditorBrowsableAttribute.cs
- TemplateBaseAction.cs
- OperationContractAttribute.cs
- MethodSet.cs
- UpdateEventArgs.cs
- SendParametersContent.cs
- Literal.cs
- OleDbRowUpdatingEvent.cs
- DoubleConverter.cs
- BrowserTree.cs
- BindingBase.cs
- XmlReturnWriter.cs
- LicFileLicenseProvider.cs
- CommandExpr.cs
- DifferencingCollection.cs
- XmlSortKey.cs
- RenderingEventArgs.cs
- EndpointNotFoundException.cs
- WinEventWrap.cs
- EventHandlerService.cs
- StyleCollection.cs
- SpeakProgressEventArgs.cs
- DBDataPermissionAttribute.cs
- EntityViewContainer.cs
- UrlPropertyAttribute.cs
- ClientApiGenerator.cs
- NativeActivity.cs
- DiagnosticTrace.cs
- ToolStripSystemRenderer.cs
- WorkflowCompensationBehavior.cs
- Context.cs
- Icon.cs
- WebPartDeleteVerb.cs
- ImageDrawing.cs
- Document.cs
- MonthChangedEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- SiteMapNodeItemEventArgs.cs
- ObjectContext.cs
- validationstate.cs
- EntityKeyElement.cs
- ListMarkerLine.cs
- FixedDSBuilder.cs
- HtmlInputFile.cs
- SafeNativeMethodsCLR.cs
- TemplateInstanceAttribute.cs
- xmlglyphRunInfo.cs
- PolyBezierSegment.cs
- PluggableProtocol.cs
- _PooledStream.cs
- Effect.cs
- OptimisticConcurrencyException.cs
- WeakEventTable.cs
- EventLogTraceListener.cs
- EntityViewGenerationAttribute.cs
- StateChangeEvent.cs
- SecurityContextSecurityTokenResolver.cs
- RedirectionProxy.cs
- TiffBitmapDecoder.cs
- StylusPointProperty.cs
- CardSpaceException.cs
- DataGridViewCellParsingEventArgs.cs
- SoapReflectionImporter.cs
- TextServicesDisplayAttribute.cs
- userdatakeys.cs
- DataGridViewTopLeftHeaderCell.cs
- OracleColumn.cs
- UrlPath.cs
- EditingCommands.cs
- NameValueConfigurationElement.cs
- MDIControlStrip.cs
- AdornerPresentationContext.cs
- DesignerForm.cs
- ConfigXmlSignificantWhitespace.cs
- WebColorConverter.cs
- ArraySortHelper.cs
- AsymmetricSecurityBindingElement.cs
- ObjectDataSourceEventArgs.cs
- CodeIndexerExpression.cs
- JsonEncodingStreamWrapper.cs
- DataGridViewCell.cs
- Popup.cs
- SqlBulkCopyColumnMapping.cs
- UrlMappingCollection.cs
- ModelItemCollection.cs
- Misc.cs
- SimpleTypesSurrogate.cs
- DataMemberAttribute.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- ActivityMarkupSerializer.cs
- XmlSerializerAssemblyAttribute.cs
- DataGridSortingEventArgs.cs
- PagePropertiesChangingEventArgs.cs
- XmlNodeList.cs
- SearchForVirtualItemEventArgs.cs
- ImageBrush.cs
- ProfileSettings.cs
- CryptoApi.cs
- GraphicsPath.cs