Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / DiscoveryServiceExtension.cs / 1305376 / DiscoveryServiceExtension.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System; using System.Collections.ObjectModel; using System.Runtime; using SR2 = System.ServiceModel.Discovery.SR; [Fx.Tag.XamlVisible(false)] public abstract class DiscoveryServiceExtension : IExtension{ ServiceHostBase owner; PublishedEndpointCollection publishedEndpoints; ReadOnlyCollection readOnlyPublishedEndpoints; protected DiscoveryServiceExtension() { this.publishedEndpoints = new PublishedEndpointCollection(); this.readOnlyPublishedEndpoints = new ReadOnlyCollection (this.publishedEndpoints); } public ReadOnlyCollection PublishedEndpoints { get { return this.readOnlyPublishedEndpoints; } } internal Collection InternalPublishedEndpoints { get { return this.publishedEndpoints; } } void IExtension .Attach(ServiceHostBase owner) { if (owner == null) { throw FxTrace.Exception.ArgumentNull("owner"); } if (this.owner != null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR2.DiscoveryExtensionAlreadyAttached)); } this.owner = owner; } void IExtension .Detach(ServiceHostBase owner) { if (owner == null) { throw FxTrace.Exception.ArgumentNull("owner"); } if (this.owner != null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR2.DiscoveryExtensionCannotBeDetached)); } } internal DiscoveryService ValidateAndGetDiscoveryService() { DiscoveryService discoveryService = this.GetDiscoveryService(); if (discoveryService == null) { throw FxTrace.Exception.AsError( new InvalidOperationException( SR.DiscoveryMethodImplementationReturnsNull("GetDiscoveryService", this.GetType()))); } return discoveryService; } protected abstract DiscoveryService GetDiscoveryService(); class PublishedEndpointCollection : NonNullItemCollection { protected override void InsertItem(int index, EndpointDiscoveryMetadata item) { base.InsertItem(index, item); item.Open(); } protected override void SetItem(int index, EndpointDiscoveryMetadata item) { base.SetItem(index, item); item.Open(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegexMatchCollection.cs
- CodeGeneratorOptions.cs
- FixedPageProcessor.cs
- TextContainerChangeEventArgs.cs
- DATA_BLOB.cs
- ResourceLoader.cs
- DataRelationCollection.cs
- NamespaceEmitter.cs
- RequestBringIntoViewEventArgs.cs
- EntityContainerEmitter.cs
- ScriptRegistrationManager.cs
- WebServicesDescriptionAttribute.cs
- PropertyStore.cs
- Int32CAMarshaler.cs
- RectangleGeometry.cs
- DataBoundControlAdapter.cs
- MailAddress.cs
- configsystem.cs
- Rijndael.cs
- PrimitiveXmlSerializers.cs
- UpdateExpressionVisitor.cs
- HiddenFieldPageStatePersister.cs
- SessionStateSection.cs
- PeekCompletedEventArgs.cs
- ResourceDictionary.cs
- ToolTipService.cs
- ThreadExceptionDialog.cs
- CryptoHandle.cs
- WebPartConnection.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- InternalConfigHost.cs
- RectangleConverter.cs
- ListChunk.cs
- ScrollProviderWrapper.cs
- ConfigurationConverterBase.cs
- ArrangedElement.cs
- XpsSerializationManager.cs
- LogRecordSequence.cs
- Operator.cs
- ADConnectionHelper.cs
- SafeNativeMethodsMilCoreApi.cs
- PeerApplicationLaunchInfo.cs
- SrgsToken.cs
- WSFederationHttpBindingElement.cs
- EnvironmentPermission.cs
- VerticalAlignConverter.cs
- SoapExtensionTypeElement.cs
- XmlSchemaGroup.cs
- SoapUnknownHeader.cs
- RegexRunnerFactory.cs
- SiteOfOriginPart.cs
- KeyedHashAlgorithm.cs
- DurableOperationAttribute.cs
- EmptyControlCollection.cs
- entityreference_tresulttype.cs
- ScriptControlDescriptor.cs
- SpnEndpointIdentity.cs
- StylusEditingBehavior.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- DataServiceHost.cs
- PlacementWorkspace.cs
- QilExpression.cs
- WebUtil.cs
- CodeDesigner.cs
- StateManager.cs
- HTMLTextWriter.cs
- VisualBasicSettingsHandler.cs
- NumberSubstitution.cs
- SignatureHelper.cs
- BulletedListDesigner.cs
- FormViewModeEventArgs.cs
- CatalogPartChrome.cs
- AssemblyCache.cs
- FakeModelPropertyImpl.cs
- RecordManager.cs
- ListViewGroup.cs
- ConfigurationValue.cs
- ConfigXmlText.cs
- DoubleCollection.cs
- WebBrowser.cs
- MaskedTextProvider.cs
- ReadOnlyDataSourceView.cs
- FixedSOMGroup.cs
- Activation.cs
- DetailsViewAutoFormat.cs
- CertificateManager.cs
- ReflectionTypeLoadException.cs
- TemplatedWizardStep.cs
- SerialErrors.cs
- SerializationInfoEnumerator.cs
- Relationship.cs
- XmlSchemaGroup.cs
- ListViewItem.cs
- MetadataArtifactLoaderCompositeFile.cs
- SplashScreenNativeMethods.cs
- SafeSecurityHelper.cs
- ServiceDebugElement.cs
- DbProviderFactory.cs
- ErrorFormatter.cs
- COAUTHIDENTITY.cs