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
- ImageBrush.cs
- Panel.cs
- __Error.cs
- BlockExpression.cs
- WizardStepBase.cs
- DynamicRenderer.cs
- ArrayList.cs
- DataGridViewBindingCompleteEventArgs.cs
- TableDetailsRow.cs
- UriGenerator.cs
- X509Certificate2.cs
- RuntimeArgumentHandle.cs
- SerialPort.cs
- ComPlusSynchronizationContext.cs
- Error.cs
- OperationCanceledException.cs
- JournalEntry.cs
- ChtmlTextWriter.cs
- InstalledFontCollection.cs
- TreeNodeStyle.cs
- TypedElement.cs
- WebPartUtil.cs
- BinaryNode.cs
- _AuthenticationState.cs
- PartialCachingControl.cs
- ObjectConverter.cs
- Win32.cs
- ControlAdapter.cs
- ConfigurationManager.cs
- TextAdaptor.cs
- WindowsGrip.cs
- LineUtil.cs
- CodeCommentStatement.cs
- DataGridViewComboBoxCell.cs
- DataGridHeaderBorder.cs
- ConnectionStringsExpressionBuilder.cs
- HttpListenerResponse.cs
- ImageClickEventArgs.cs
- StringValidator.cs
- CaseExpr.cs
- CompilerParameters.cs
- StrongNameIdentityPermission.cs
- BigIntegerStorage.cs
- DecimalKeyFrameCollection.cs
- PropertyDescriptorComparer.cs
- MbpInfo.cs
- DataObject.cs
- StringValueConverter.cs
- AttributeEmitter.cs
- shaperfactoryquerycachekey.cs
- BitConverter.cs
- ExceptionUtil.cs
- ExceptionUtility.cs
- AQNBuilder.cs
- UpdateManifestForBrowserApplication.cs
- ValueQuery.cs
- Viewport3DAutomationPeer.cs
- ErrorTableItemStyle.cs
- OdbcConnectionString.cs
- InboundActivityHelper.cs
- GridViewAutoFormat.cs
- DataBinder.cs
- CallbackDebugElement.cs
- DataKey.cs
- ISAPIRuntime.cs
- LambdaCompiler.cs
- ImpersonationContext.cs
- DependencyPropertyValueSerializer.cs
- ObjectQueryState.cs
- CollectionChangeEventArgs.cs
- ResourceExpressionBuilder.cs
- EnumerableRowCollection.cs
- ellipse.cs
- TextEditorCharacters.cs
- ImageInfo.cs
- MemberPathMap.cs
- DPAPIProtectedConfigurationProvider.cs
- Polygon.cs
- SmiMetaData.cs
- ObjectToken.cs
- PrincipalPermission.cs
- IntSecurity.cs
- Configuration.cs
- IMembershipProvider.cs
- SystemUdpStatistics.cs
- RoleGroupCollection.cs
- ColumnWidthChangingEvent.cs
- SubstitutionList.cs
- DesignColumnCollection.cs
- GB18030Encoding.cs
- BaseCodeDomTreeGenerator.cs
- FieldNameLookup.cs
- PropertyStore.cs
- PreviewKeyDownEventArgs.cs
- ThreadSafeList.cs
- InstanceDescriptor.cs
- TextEditorParagraphs.cs
- Maps.cs
- SystemTcpConnection.cs
- Sorting.cs