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
- NumberFunctions.cs
- PeerName.cs
- CodeExpressionStatement.cs
- ScriptBehaviorDescriptor.cs
- ParameterBuilder.cs
- EncryptedData.cs
- IsolationInterop.cs
- HttpListenerRequestUriBuilder.cs
- TypedRowGenerator.cs
- CheckBoxField.cs
- SelectedDatesCollection.cs
- QilCloneVisitor.cs
- CodeDomExtensionMethods.cs
- TraceInternal.cs
- dataSvcMapFileLoader.cs
- BuildProvider.cs
- SystemNetworkInterface.cs
- FtpWebResponse.cs
- sitestring.cs
- Ref.cs
- AutomationPropertyInfo.cs
- _AutoWebProxyScriptHelper.cs
- HttpRuntimeSection.cs
- PeerNameRecord.cs
- EntityDataSourceReferenceGroup.cs
- RightsManagementLicense.cs
- OneOfTypeConst.cs
- ConfigXmlElement.cs
- SerializationHelper.cs
- DataGridViewDataConnection.cs
- RowSpanVector.cs
- PseudoWebRequest.cs
- WsdlInspector.cs
- CodeThrowExceptionStatement.cs
- UdpTransportBindingElement.cs
- Button.cs
- QilLiteral.cs
- WindowsToolbar.cs
- PointCollectionConverter.cs
- AtomMaterializer.cs
- ClusterRegistryConfigurationProvider.cs
- DataObject.cs
- PropertyChangedEventManager.cs
- CodeCommentStatementCollection.cs
- VBCodeProvider.cs
- TextParagraphView.cs
- EntityModelSchemaGenerator.cs
- ListMarkerLine.cs
- WithParamAction.cs
- CodeCompiler.cs
- SQLGuid.cs
- XXXOnTypeBuilderInstantiation.cs
- XPathArrayIterator.cs
- PeerTransportListenAddressValidator.cs
- APCustomTypeDescriptor.cs
- RewritingPass.cs
- DoubleAnimationClockResource.cs
- Rect.cs
- PolicyChain.cs
- SqlRetyper.cs
- ImpersonationContext.cs
- SetterBaseCollection.cs
- WindowsIPAddress.cs
- XmlIlGenerator.cs
- StandardCommands.cs
- WmlValidationSummaryAdapter.cs
- _NetworkingPerfCounters.cs
- invalidudtexception.cs
- KeyValuePairs.cs
- QueryCoreOp.cs
- RTLAwareMessageBox.cs
- SymLanguageType.cs
- PointUtil.cs
- _OverlappedAsyncResult.cs
- OLEDB_Util.cs
- Block.cs
- SerializationStore.cs
- SelectionItemProviderWrapper.cs
- ToolStripDropDownItemDesigner.cs
- LicenseManager.cs
- PropertyDescriptor.cs
- SystemNetworkInterface.cs
- TargetInvocationException.cs
- ObjectFullSpanRewriter.cs
- DoubleAnimationClockResource.cs
- DoubleIndependentAnimationStorage.cs
- LinkArea.cs
- TransformerConfigurationWizardBase.cs
- ColorTranslator.cs
- Deflater.cs
- SystemIPv4InterfaceProperties.cs
- FlowDocumentPage.cs
- ThumbButtonInfoCollection.cs
- PropertyChangingEventArgs.cs
- SourceItem.cs
- PageContentCollection.cs
- XPathSelfQuery.cs
- Vector3DCollection.cs
- VerticalAlignConverter.cs
- CodeDomSerializerBase.cs