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
- GraphicsContainer.cs
- SerializerProvider.cs
- SchemaSetCompiler.cs
- RawKeyboardInputReport.cs
- DesignerWithHeader.cs
- Condition.cs
- FormClosedEvent.cs
- FixedSOMSemanticBox.cs
- ServicePoint.cs
- RegistrySecurity.cs
- MatrixConverter.cs
- TcpClientCredentialType.cs
- DefaultMemberAttribute.cs
- TextBlockAutomationPeer.cs
- SqlCommandBuilder.cs
- XmlnsCache.cs
- backend.cs
- TransactedReceiveData.cs
- TableRowCollection.cs
- _ConnectionGroup.cs
- HighlightVisual.cs
- AttributeCollection.cs
- WebControl.cs
- DeviceSpecificDialogCachedState.cs
- HuffModule.cs
- NotImplementedException.cs
- BrowserCapabilitiesFactory35.cs
- ScriptBehaviorDescriptor.cs
- NullableConverter.cs
- NodeLabelEditEvent.cs
- HttpAsyncResult.cs
- StyleHelper.cs
- ValidatedControlConverter.cs
- SimpleType.cs
- DataServiceQueryException.cs
- KnownIds.cs
- PlaceHolder.cs
- DataGridViewAddColumnDialog.cs
- PasswordBoxAutomationPeer.cs
- Module.cs
- XmlSchemaDatatype.cs
- PropertyMapper.cs
- TraceInternal.cs
- SqlDataReader.cs
- DataControlImageButton.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ToolStripLabel.cs
- FontSource.cs
- DataGridColumnEventArgs.cs
- ColumnCollection.cs
- AlignmentYValidation.cs
- SiteOfOriginPart.cs
- TableChangeProcessor.cs
- WeakReadOnlyCollection.cs
- WebPartDisplayModeEventArgs.cs
- RtType.cs
- WebBrowserDocumentCompletedEventHandler.cs
- Models.cs
- ToolTipService.cs
- DataGrid.cs
- DateTimeParse.cs
- XslAst.cs
- ScriptReferenceBase.cs
- DbConnectionFactory.cs
- Mutex.cs
- ValidatingPropertiesEventArgs.cs
- PropertyEmitterBase.cs
- DataGridViewSortCompareEventArgs.cs
- VectorCollectionConverter.cs
- XMLDiffLoader.cs
- XmlStreamNodeWriter.cs
- InternalBufferOverflowException.cs
- ChineseLunisolarCalendar.cs
- PropertyGridCommands.cs
- ADMembershipProvider.cs
- ClientSideQueueItem.cs
- ConfigXmlComment.cs
- XmlWriter.cs
- TimeSpanValidatorAttribute.cs
- XmlILStorageConverter.cs
- RichTextBoxConstants.cs
- DataGridViewBindingCompleteEventArgs.cs
- TypeUtil.cs
- GifBitmapEncoder.cs
- BrushMappingModeValidation.cs
- ImmComposition.cs
- SrgsSubset.cs
- dbenumerator.cs
- EntityContainerRelationshipSet.cs
- LinearGradientBrush.cs
- Debug.cs
- DynamicField.cs
- ProtocolImporter.cs
- UnicodeEncoding.cs
- Win32Exception.cs
- ProfileInfo.cs
- DrawingDrawingContext.cs
- VariantWrapper.cs
- ClientRuntime.cs
- PropertyEntry.cs