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
- AppearanceEditorPart.cs
- MethodRental.cs
- Size.cs
- SchemaNotation.cs
- OrthographicCamera.cs
- FilterableAttribute.cs
- TimeoutValidationAttribute.cs
- UrlPath.cs
- DBParameter.cs
- ColorTranslator.cs
- InkPresenterAutomationPeer.cs
- CookielessHelper.cs
- CapabilitiesAssignment.cs
- MenuItem.cs
- RadioButtonList.cs
- Cursors.cs
- DataKeyArray.cs
- ReadOnlyDataSourceView.cs
- UnmanagedMarshal.cs
- MatrixAnimationUsingKeyFrames.cs
- WinCategoryAttribute.cs
- ZoneIdentityPermission.cs
- AttributeCollection.cs
- StoreContentChangedEventArgs.cs
- ServiceInstanceProvider.cs
- ScrollItemPattern.cs
- DateTimeStorage.cs
- SafeTimerHandle.cs
- SuppressMessageAttribute.cs
- ActivityDesignerLayoutSerializers.cs
- MachinePropertyVariants.cs
- XamlToRtfParser.cs
- ConfigurationManagerInternal.cs
- CheckBoxStandardAdapter.cs
- NotifyInputEventArgs.cs
- ElementAction.cs
- RegexRunnerFactory.cs
- CDSsyncETWBCLProvider.cs
- Subtree.cs
- CachedTypeface.cs
- SoapElementAttribute.cs
- MeasurementDCInfo.cs
- ColorContext.cs
- KeyToListMap.cs
- ChildTable.cs
- Point4D.cs
- StorageSetMapping.cs
- SafeFileMappingHandle.cs
- Operator.cs
- DateRangeEvent.cs
- ExpandoObject.cs
- SingleObjectCollection.cs
- DataViewSetting.cs
- Transform3D.cs
- ReceiveContextCollection.cs
- DeflateStream.cs
- ArgumentValidation.cs
- XmlCountingReader.cs
- ConfigXmlElement.cs
- SiblingIterators.cs
- TextFormatter.cs
- DeferredTextReference.cs
- StandardBindingElementCollection.cs
- UInt16.cs
- SchemaTypeEmitter.cs
- TrackingDataItemValue.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- HuffModule.cs
- ParameterCollection.cs
- OAVariantLib.cs
- RtfControls.cs
- Literal.cs
- CssTextWriter.cs
- HtmlTitle.cs
- NotificationContext.cs
- SortKey.cs
- HttpApplicationFactory.cs
- CodeSnippetExpression.cs
- DecimalAnimationBase.cs
- UidManager.cs
- WebRequestModuleElementCollection.cs
- EFDataModelProvider.cs
- SystemIPInterfaceProperties.cs
- ChangeDirector.cs
- Util.cs
- StyleSheetDesigner.cs
- OdbcConnectionString.cs
- ImageAnimator.cs
- TraceUtility.cs
- SvcFileManager.cs
- EditorPart.cs
- SiteIdentityPermission.cs
- TransformationRules.cs
- SchemaDeclBase.cs
- HttpPostedFile.cs
- TextBoxLine.cs
- NamedPermissionSet.cs
- BeginStoryboard.cs
- SecurityTokenTypes.cs
- RandomNumberGenerator.cs