Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / ChannelDispatcherCollection.cs / 1 / ChannelDispatcherCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Runtime.Serialization; public class ChannelDispatcherCollection : SynchronizedCollection{ ServiceHostBase service; internal ChannelDispatcherCollection(ServiceHostBase service, object syncRoot) : base(syncRoot) { if (service == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("service"); this.service = service; } protected override void ClearItems() { ChannelDispatcherBase[] array = new ChannelDispatcherBase[this.Count]; this.CopyTo(array, 0); base.ClearItems(); if (this.service != null) { foreach (ChannelDispatcherBase channelDispatcher in array) this.service.OnRemoveChannelDispatcher(channelDispatcher); } } protected override void InsertItem(int index, ChannelDispatcherBase item) { if (this.service != null) { if (this.service.State == CommunicationState.Closed) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException(this.service.GetType().ToString())); this.service.OnAddChannelDispatcher(item); } base.InsertItem(index, item); } protected override void RemoveItem(int index) { ChannelDispatcherBase channelDispatcher = this.Items[index]; base.RemoveItem(index); if (this.service != null) this.service.OnRemoveChannelDispatcher(channelDispatcher); } protected override void SetItem(int index, ChannelDispatcherBase item) { if (this.service != null) { if (this.service.State == CommunicationState.Closed) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException(this.service.GetType().ToString())); } if (this.service != null) this.service.OnAddChannelDispatcher(item); ChannelDispatcherBase old; lock (this.SyncRoot) { old = this.Items[index]; base.SetItem(index, item); } if (this.service != null) this.service.OnRemoveChannelDispatcher(old); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SrgsRuleRef.cs
- BuildResult.cs
- UserControlDocumentDesigner.cs
- _BufferOffsetSize.cs
- UIPropertyMetadata.cs
- IdentityNotMappedException.cs
- BindingWorker.cs
- DBConcurrencyException.cs
- CodeDomSerializerException.cs
- EndpointInstanceProvider.cs
- RewritingValidator.cs
- CollectionChangeEventArgs.cs
- MediaSystem.cs
- AnimationClockResource.cs
- ModelPropertyImpl.cs
- UIElementIsland.cs
- PreviewKeyDownEventArgs.cs
- TableCell.cs
- EnumerableValidator.cs
- CFStream.cs
- parserscommon.cs
- SynchronizedDispatch.cs
- ReferenceEqualityComparer.cs
- GraphicsState.cs
- HttpMethodConstraint.cs
- CreateBookmarkScope.cs
- LongCountAggregationOperator.cs
- DataBindingCollection.cs
- ToolBarTray.cs
- DesignRelation.cs
- odbcmetadatacollectionnames.cs
- StateManager.cs
- HashCodeCombiner.cs
- URL.cs
- ObjectDataSourceFilteringEventArgs.cs
- WmlLabelAdapter.cs
- SafeArrayRankMismatchException.cs
- Tag.cs
- DataTransferEventArgs.cs
- EntityClientCacheKey.cs
- HtmlElementCollection.cs
- CodeDesigner.cs
- XmlSchemaInfo.cs
- Help.cs
- Error.cs
- Zone.cs
- XmlDeclaration.cs
- WindowsTreeView.cs
- PermissionAttributes.cs
- MatcherBuilder.cs
- MenuItemStyle.cs
- MenuItem.cs
- ReflectPropertyDescriptor.cs
- ExpressionBuilderCollection.cs
- PersistenceContextEnlistment.cs
- TransformerInfoCollection.cs
- CharacterMetricsDictionary.cs
- Int32Animation.cs
- NetworkStream.cs
- Misc.cs
- Types.cs
- RangeContentEnumerator.cs
- ImageCollectionEditor.cs
- WebPartDisplayModeCancelEventArgs.cs
- PeerInvitationResponse.cs
- EntityDataSourceWizardForm.cs
- DocumentManager.cs
- UserControlCodeDomTreeGenerator.cs
- BindingCollectionElement.cs
- ClassicBorderDecorator.cs
- TextBox.cs
- AssemblyBuilderData.cs
- DiagnosticsConfiguration.cs
- WebPartPersonalization.cs
- PropertyEntry.cs
- PassportIdentity.cs
- WSMessageEncoding.cs
- ClientSession.cs
- Pair.cs
- OleDbPropertySetGuid.cs
- CommandID.cs
- GenericPrincipal.cs
- FormViewCommandEventArgs.cs
- BitStack.cs
- CoordinationService.cs
- SqlBooleanizer.cs
- RightsManagementProvider.cs
- Message.cs
- WebUtil.cs
- WindowsFont.cs
- AttributeCollection.cs
- SiteMapHierarchicalDataSourceView.cs
- UserControlDocumentDesigner.cs
- EditingScope.cs
- DataTableReader.cs
- ItemCheckedEvent.cs
- ProviderCollection.cs
- XmlSerializerNamespaces.cs
- XPathDocumentNavigator.cs
- WebPageTraceListener.cs