Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / PeerTransportSecuritySettings.cs / 1 / PeerTransportSecuritySettings.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System; using System.ComponentModel; using System.Net; using System.Net.Security; using System.ServiceModel.Channels; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using System.ServiceModel.Security; using System.Xml; public sealed class PeerTransportSecuritySettings { internal const PeerTransportCredentialType DefaultCredentialType = PeerTransportCredentialType.Password; PeerTransportCredentialType credentialType; internal PeerTransportSecuritySettings() { this.credentialType = DefaultCredentialType; } internal PeerTransportSecuritySettings(PeerTransportSecuritySettings other) { this.credentialType = other.credentialType; } internal PeerTransportSecuritySettings(PeerTransportSecurityElement element) { credentialType = element.CredentialType; } public PeerTransportCredentialType CredentialType { get { return this.credentialType; } set { if (!PeerTransportCredentialTypeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int)value, typeof(PeerTransportCredentialType))); } this.credentialType = value; } } internal void OnImportPolicy(MetadataImporter importer, PolicyConversionContext context) { XmlElement element = PolicyConversionContext.FindAssertion(context.GetBindingAssertions(), PeerTransportPolicyConstants.PeerTransportCredentialType, TransportPolicyConstants.PeerTransportUri, true); PeerTransportCredentialType credentialType = PeerTransportCredentialType.Password; if (element != null) { switch (element.InnerText) { case PeerTransportPolicyConstants.PeerTransportCredentialTypePassword: credentialType = PeerTransportCredentialType.Password; break; case PeerTransportPolicyConstants.PeerTransportCredentialTypeCertificate: credentialType = PeerTransportCredentialType.Certificate; break; default: break; } } this.CredentialType = credentialType; } internal void OnExportPolicy(MetadataExporter exporter, PolicyConversionContext context) { string assertion = ""; switch (this.CredentialType) { case PeerTransportCredentialType.Password: assertion = PeerTransportPolicyConstants.PeerTransportCredentialTypePassword; break; case PeerTransportCredentialType.Certificate: assertion = PeerTransportPolicyConstants.PeerTransportCredentialTypeCertificate; break; default: DiagnosticUtility.DebugAssert("Unsupported value for PeerTransportSecuritySettings.CredentialType"); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } XmlDocument doc = new XmlDocument(); XmlElement element = doc.CreateElement(PeerTransportPolicyConstants.PeerTransportPrefix, PeerTransportPolicyConstants.PeerTransportCredentialType, TransportPolicyConstants.PeerTransportUri); element.InnerText = assertion; context.GetBindingAssertions().Add(element); } } } // 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
- FrameworkContentElement.cs
- PropertyTabChangedEvent.cs
- LinqExpressionNormalizer.cs
- KeyConstraint.cs
- SafeNativeMethods.cs
- PointValueSerializer.cs
- ParentQuery.cs
- PackageProperties.cs
- CatalogZone.cs
- WebPartVerbsEventArgs.cs
- CustomError.cs
- TextTreeExtractElementUndoUnit.cs
- TemplateBindingExpressionConverter.cs
- TextBox.cs
- Item.cs
- PanelStyle.cs
- SafeArrayTypeMismatchException.cs
- X509LogoTypeExtension.cs
- WebRequest.cs
- externdll.cs
- CaretElement.cs
- SingleTagSectionHandler.cs
- Code.cs
- Completion.cs
- AutoGeneratedField.cs
- MappingMetadataHelper.cs
- DataGridViewColumnTypeEditor.cs
- XNameTypeConverter.cs
- GPRECTF.cs
- _HeaderInfo.cs
- AssertSection.cs
- ComponentConverter.cs
- InvalidEnumArgumentException.cs
- Journal.cs
- CollectionViewProxy.cs
- NativeCppClassAttribute.cs
- GetPageCompletedEventArgs.cs
- HttpClientProtocol.cs
- TreeNodeCollection.cs
- CompiledRegexRunner.cs
- XamlInt32CollectionSerializer.cs
- XmlUtil.cs
- StrokeCollectionConverter.cs
- UrlPath.cs
- DataGridViewColumnTypePicker.cs
- NavigateEvent.cs
- CacheAxisQuery.cs
- XmlSchemaAttributeGroupRef.cs
- DoubleAnimationBase.cs
- PropertyGridView.cs
- AttributeUsageAttribute.cs
- Panel.cs
- WebConfigurationFileMap.cs
- PenThread.cs
- SerializationFieldInfo.cs
- CSharpCodeProvider.cs
- NavigationService.cs
- ToolStripStatusLabel.cs
- RequestDescription.cs
- WebConfigurationFileMap.cs
- EntityDataSourceMemberPath.cs
- UIElementIsland.cs
- ComplexType.cs
- ThemeInfoAttribute.cs
- TreeWalker.cs
- PresentationTraceSources.cs
- PerformanceCountersElement.cs
- SafeEventLogReadHandle.cs
- OracleBinary.cs
- PropertyGridEditorPart.cs
- XPathAncestorQuery.cs
- Attributes.cs
- EndpointInstanceProvider.cs
- EnumConverter.cs
- XmlProcessingInstruction.cs
- ScriptControl.cs
- XmlSchemaAppInfo.cs
- SchemaLookupTable.cs
- httpserverutility.cs
- activationcontext.cs
- DataGridDesigner.cs
- StringToken.cs
- MemberInfoSerializationHolder.cs
- TextRangeProviderWrapper.cs
- TextBox.cs
- ImageFormatConverter.cs
- RuntimeArgumentHandle.cs
- MonthChangedEventArgs.cs
- SiteMapSection.cs
- ListCommandEventArgs.cs
- StyleTypedPropertyAttribute.cs
- XamlStyleSerializer.cs
- GeometryConverter.cs
- ConfigurationConverterBase.cs
- TabControl.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- Random.cs
- DataGridViewRowsAddedEventArgs.cs
- ProtocolElementCollection.cs
- Configuration.cs