Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / PrivacyNoticeBindingElement.cs / 1 / PrivacyNoticeBindingElement.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.ServiceModel.Configuration; using System.ServiceModel.Description; using System.Xml; public sealed class PrivacyNoticeBindingElement : BindingElement, IPolicyExportExtension { Uri url; int version; public PrivacyNoticeBindingElement() { this.url = null; } public PrivacyNoticeBindingElement( PrivacyNoticeBindingElement elementToBeCloned ) : base( elementToBeCloned ) { this.url = elementToBeCloned.url; this.version = elementToBeCloned.version; } public Uri Url { get { return this.url; } set { if (value == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } this.url = value; } } public int Version { get { return this.version; } set { if ( value < 0 ) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value, SR.GetString(SR.ValueMustBePositive))); } this.version = value; } } public override BindingElement Clone() { return new PrivacyNoticeBindingElement(this); } public override T GetProperty(BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } return context.GetInnerProperty (); } void IPolicyExportExtension.ExportPolicy(MetadataExporter exporter, PolicyConversionContext context) { if (context == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); if (context.BindingElements != null) { PrivacyNoticeBindingElement settings = context.BindingElements.Find (); if (settings != null) { XmlDocument doc = new XmlDocument(); // PrivacyNotice assertion XmlElement assertion = doc.CreateElement(PrivacyNoticePolicyStrings.PrivacyNoticePrefix, PrivacyNoticePolicyStrings.PrivacyNoticeName, PrivacyNoticePolicyStrings.PrivacyNoticeNamespace); assertion.InnerText = settings.Url.ToString(); assertion.SetAttribute(PrivacyNoticePolicyStrings.PrivacyNoticeVersionAttributeName, PrivacyNoticePolicyStrings.PrivacyNoticeNamespace, XmlConvert.ToString(settings.Version)); context.GetBindingAssertions().Add(assertion); } } } internal override bool IsMatch(BindingElement b) { if (b == null) return false; PrivacyNoticeBindingElement privacy = b as PrivacyNoticeBindingElement; if (privacy == null) return false; return (this.url == privacy.url && this.version == privacy.version); } } } // 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
- ResourcePool.cs
- PrePrepareMethodAttribute.cs
- DBSqlParserTable.cs
- WebPartDeleteVerb.cs
- PeerContact.cs
- SmiXetterAccessMap.cs
- UpdateCompiler.cs
- SchemaRegistration.cs
- RenameRuleObjectDialog.Designer.cs
- BoundConstants.cs
- KeyEventArgs.cs
- ProcessManager.cs
- RequestNavigateEventArgs.cs
- securitycriticaldataClass.cs
- TableLayoutPanel.cs
- RichTextBox.cs
- RSAOAEPKeyExchangeDeformatter.cs
- ReaderWriterLock.cs
- ReadOnlyCollectionBase.cs
- PowerModeChangedEventArgs.cs
- Enum.cs
- LinkConverter.cs
- DataGridItemAttachedStorage.cs
- GregorianCalendar.cs
- wgx_sdk_version.cs
- DocumentViewer.cs
- RelativeSource.cs
- Validator.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- Vector.cs
- GeneralTransformGroup.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- CultureInfoConverter.cs
- RepeaterCommandEventArgs.cs
- CTreeGenerator.cs
- BuildProvider.cs
- SafeRightsManagementQueryHandle.cs
- EllipseGeometry.cs
- ImageMetadata.cs
- precedingsibling.cs
- RtfFormatStack.cs
- MappingModelBuildProvider.cs
- SchemaElement.cs
- Ports.cs
- FacetValues.cs
- TransformerInfoCollection.cs
- BigInt.cs
- MetadataArtifactLoaderComposite.cs
- XmlTextReaderImpl.cs
- X509Extension.cs
- DynamicResourceExtension.cs
- RelationalExpressions.cs
- ListBoxDesigner.cs
- Line.cs
- PropertyPathConverter.cs
- StylusPoint.cs
- WmfPlaceableFileHeader.cs
- TextFormatterImp.cs
- DateTimeEditor.cs
- DataGridViewCellStateChangedEventArgs.cs
- RelationshipDetailsRow.cs
- MaskDesignerDialog.cs
- ScriptDescriptor.cs
- DateTimeConverter.cs
- DataError.cs
- BulletDecorator.cs
- Preprocessor.cs
- InvokePatternIdentifiers.cs
- SvcFileManager.cs
- ProcessProtocolHandler.cs
- IgnoreSection.cs
- xamlnodes.cs
- NullableBoolConverter.cs
- CodePropertyReferenceExpression.cs
- MultipleFilterMatchesException.cs
- InputLanguageManager.cs
- PrintEvent.cs
- HiddenField.cs
- ComponentCodeDomSerializer.cs
- ITextView.cs
- TrackBarRenderer.cs
- _ProxyRegBlob.cs
- Vector3DCollectionValueSerializer.cs
- PageRanges.cs
- BamlResourceDeserializer.cs
- ClientSettingsStore.cs
- SQLMoneyStorage.cs
- DesignerDeviceConfig.cs
- EmptyQuery.cs
- XmlQualifiedNameTest.cs
- TypedColumnHandler.cs
- MenuItem.cs
- ResolveNameEventArgs.cs
- SymDocumentType.cs
- UndoUnit.cs
- AttributeQuery.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- Reference.cs
- ListDictionary.cs
- XmlProcessingInstruction.cs