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
- TextTreeUndoUnit.cs
- WizardStepBase.cs
- DbConnectionFactory.cs
- WebExceptionStatus.cs
- CompilationRelaxations.cs
- PasswordBox.cs
- ZoneLinkButton.cs
- VisualStates.cs
- ClientFormsAuthenticationMembershipProvider.cs
- WebPartManager.cs
- TextDecoration.cs
- FixedSOMPage.cs
- VirtualizedContainerService.cs
- TemplateLookupAction.cs
- DataGridViewLinkCell.cs
- WmlImageAdapter.cs
- PackageFilter.cs
- RayMeshGeometry3DHitTestResult.cs
- WCFBuildProvider.cs
- SettingsPropertyWrongTypeException.cs
- Clause.cs
- DataProtection.cs
- MsmqAppDomainProtocolHandler.cs
- NoClickablePointException.cs
- EditorPartCollection.cs
- SiteIdentityPermission.cs
- HandoffBehavior.cs
- Solver.cs
- DetailsViewPageEventArgs.cs
- Privilege.cs
- CursorConverter.cs
- LinqDataSourceStatusEventArgs.cs
- TableNameAttribute.cs
- PreservationFileWriter.cs
- DispatcherHookEventArgs.cs
- ReferenceAssemblyAttribute.cs
- XmlSchemaNotation.cs
- TimeIntervalCollection.cs
- DataGridPagingPage.cs
- WizardStepBase.cs
- DataViewManager.cs
- HttpRawResponse.cs
- MouseActionValueSerializer.cs
- KnownIds.cs
- InkCanvasInnerCanvas.cs
- ADMembershipProvider.cs
- Span.cs
- Primitive.cs
- OperationPickerDialog.designer.cs
- DynamicAttribute.cs
- PkcsMisc.cs
- BaseServiceProvider.cs
- StoreContentChangedEventArgs.cs
- X509ClientCertificateAuthenticationElement.cs
- MobileCapabilities.cs
- UIElementParaClient.cs
- TypeConverterAttribute.cs
- KeyBinding.cs
- WebPartZone.cs
- ExclusiveHandleList.cs
- CodeAttributeDeclarationCollection.cs
- Int32AnimationBase.cs
- CacheMode.cs
- SAPIEngineTypes.cs
- BlobPersonalizationState.cs
- StringDictionaryEditor.cs
- GifBitmapDecoder.cs
- InitializationEventAttribute.cs
- CollectionContainer.cs
- ContentValidator.cs
- TableLayoutPanelCellPosition.cs
- FixedSOMContainer.cs
- ProgressChangedEventArgs.cs
- RadioButton.cs
- RealizationDrawingContextWalker.cs
- EpmContentDeSerializer.cs
- PseudoWebRequest.cs
- MultiBinding.cs
- PromptEventArgs.cs
- FacetDescription.cs
- StartUpEventArgs.cs
- OleDbEnumerator.cs
- ContravarianceAdapter.cs
- SpeechDetectedEventArgs.cs
- SpeechEvent.cs
- SafeFindHandle.cs
- ProgressBarBrushConverter.cs
- ConfigurationManagerHelper.cs
- Filter.cs
- XmlChoiceIdentifierAttribute.cs
- Pen.cs
- CatchBlock.cs
- GenericUriParser.cs
- RefreshPropertiesAttribute.cs
- Convert.cs
- CancellationHandler.cs
- safelink.cs
- DataSetSchema.cs
- WindowsRichEditRange.cs
- Byte.cs