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
- ASCIIEncoding.cs
- ObjectDataSourceDisposingEventArgs.cs
- _HelperAsyncResults.cs
- TypeConverterAttribute.cs
- ProvideValueServiceProvider.cs
- OleDbDataReader.cs
- WinEventTracker.cs
- QilInvokeLateBound.cs
- DataGridViewCellStyleConverter.cs
- SerializerWriterEventHandlers.cs
- DeviceSpecificDialogCachedState.cs
- SpecularMaterial.cs
- RemotingHelper.cs
- IncrementalCompileAnalyzer.cs
- ManagementInstaller.cs
- TypeBuilderInstantiation.cs
- CompilationLock.cs
- SignatureDescription.cs
- oledbmetadatacollectionnames.cs
- LogSwitch.cs
- ToolStripPanelRow.cs
- MarkupObject.cs
- EqualityComparer.cs
- StateMachineHelpers.cs
- ProcessStartInfo.cs
- Inflater.cs
- XmlDataLoader.cs
- UnsafeNativeMethods.cs
- BitmapMetadata.cs
- DecoderFallbackWithFailureFlag.cs
- ComponentRenameEvent.cs
- MessageLogTraceRecord.cs
- QueueProcessor.cs
- NativeMethods.cs
- ProfileProvider.cs
- OdbcConnectionOpen.cs
- ImmutableDispatchRuntime.cs
- BufferBuilder.cs
- CodeAccessPermission.cs
- FigureHelper.cs
- AttributeProviderAttribute.cs
- DescendantOverDescendantQuery.cs
- TextEditorTables.cs
- Panel.cs
- UInt16.cs
- RuntimeArgumentHandle.cs
- TypeDescriptionProviderAttribute.cs
- ConnectorSelectionGlyph.cs
- AbstractDataSvcMapFileLoader.cs
- GroupedContextMenuStrip.cs
- Evidence.cs
- XmlAnyElementAttribute.cs
- RuleRefElement.cs
- AdjustableArrowCap.cs
- CallbackHandler.cs
- RectAnimationUsingKeyFrames.cs
- PolicyValidationException.cs
- StylusEditingBehavior.cs
- ControlHelper.cs
- SqlErrorCollection.cs
- BoundsDrawingContextWalker.cs
- ButtonFieldBase.cs
- AjaxFrameworkAssemblyAttribute.cs
- PersonalizationState.cs
- UnsafeCollabNativeMethods.cs
- OdbcError.cs
- PropertyGeneratedEventArgs.cs
- SelectionItemProviderWrapper.cs
- DocumentPage.cs
- HttpCacheVaryByContentEncodings.cs
- IfAction.cs
- Table.cs
- BaseDataList.cs
- StaticFileHandler.cs
- TypeExtensionSerializer.cs
- SystemWebSectionGroup.cs
- HostingEnvironmentException.cs
- DataGridViewCellMouseEventArgs.cs
- LinkLabel.cs
- CodeArgumentReferenceExpression.cs
- InterleavedZipPartStream.cs
- MaterialCollection.cs
- ObjectListFieldsPage.cs
- CultureTableRecord.cs
- SqlNodeTypeOperators.cs
- SynchronizedDispatch.cs
- EffectiveValueEntry.cs
- CodeBlockBuilder.cs
- UidManager.cs
- SimpleTypeResolver.cs
- XmlDictionary.cs
- StyleReferenceConverter.cs
- SerializationTrace.cs
- Point3DAnimationUsingKeyFrames.cs
- FlowDocumentReader.cs
- ColorConverter.cs
- DeferredElementTreeState.cs
- WebPartRestoreVerb.cs
- GenericArgumentsUpdater.cs
- XmlNamespaceManager.cs