Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / ChannelListenerBase.cs / 1 / ChannelListenerBase.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.Collections.Generic; using System.ServiceModel; using System.ServiceModel.Description; using System.Collections.ObjectModel; using System.IO; using System.Net; using System.Runtime.Serialization; using System.Text; using System.Threading; public abstract class ChannelListenerBase : ChannelManagerBase, IChannelListener { TimeSpan closeTimeout = ServiceDefaults.CloseTimeout; TimeSpan openTimeout = ServiceDefaults.OpenTimeout; TimeSpan receiveTimeout = ServiceDefaults.ReceiveTimeout; TimeSpan sendTimeout = ServiceDefaults.SendTimeout; protected ChannelListenerBase() { } protected ChannelListenerBase(IDefaultCommunicationTimeouts timeouts) { if (timeouts != null) { this.closeTimeout = timeouts.CloseTimeout; this.openTimeout = timeouts.OpenTimeout; this.receiveTimeout = timeouts.ReceiveTimeout; this.sendTimeout = timeouts.SendTimeout; } } protected override TimeSpan DefaultCloseTimeout { get { return this.closeTimeout; } } protected override TimeSpan DefaultOpenTimeout { get { return this.openTimeout; } } protected override TimeSpan DefaultReceiveTimeout { get { return this.receiveTimeout; } } protected override TimeSpan DefaultSendTimeout { get { return this.sendTimeout; } } public abstract Uri Uri { get; } public virtual T GetProperty() where T : class { if (typeof(T) == typeof(IChannelListener)) { return (T)(object)this; } return default(T); } public bool WaitForChannel(TimeSpan timeout) { this.ThrowIfNotOpened(); this.ThrowPending(); return this.OnWaitForChannel(timeout); } public IAsyncResult BeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state) { this.ThrowIfNotOpened(); this.ThrowPending(); return this.OnBeginWaitForChannel(timeout, callback, state); } public bool EndWaitForChannel(IAsyncResult result) { return this.OnEndWaitForChannel(result); } protected abstract bool OnWaitForChannel(TimeSpan timeout); protected abstract IAsyncResult OnBeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state); protected abstract bool OnEndWaitForChannel(IAsyncResult result); } public abstract class ChannelListenerBase : ChannelListenerBase, IChannelListener where TChannel : class, IChannel { protected ChannelListenerBase() { } protected ChannelListenerBase(IDefaultCommunicationTimeouts timeouts) : base(timeouts) { } protected abstract TChannel OnAcceptChannel(TimeSpan timeout); protected abstract IAsyncResult OnBeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state); protected abstract TChannel OnEndAcceptChannel(IAsyncResult result); public TChannel AcceptChannel() { return this.AcceptChannel(this.InternalReceiveTimeout); } public TChannel AcceptChannel(TimeSpan timeout) { this.ThrowIfNotOpened(); this.ThrowPending(); return this.OnAcceptChannel(timeout); } public IAsyncResult BeginAcceptChannel(AsyncCallback callback, object state) { return this.BeginAcceptChannel(this.InternalReceiveTimeout, callback, state); } public IAsyncResult BeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state) { this.ThrowIfNotOpened(); this.ThrowPending(); return this.OnBeginAcceptChannel(timeout, callback, state); } public TChannel EndAcceptChannel(IAsyncResult result) { return this.OnEndAcceptChannel(result); } } } // 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
- NavigationEventArgs.cs
- XhtmlCssHandler.cs
- GifBitmapEncoder.cs
- BamlVersionHeader.cs
- RegionData.cs
- HuffmanTree.cs
- MailDefinitionBodyFileNameEditor.cs
- HostedImpersonationContext.cs
- EllipseGeometry.cs
- IndependentlyAnimatedPropertyMetadata.cs
- CaseCqlBlock.cs
- EventLevel.cs
- EventDescriptor.cs
- DbXmlEnabledProviderManifest.cs
- DictionaryEntry.cs
- GeometryConverter.cs
- TimeSpanFormat.cs
- CapabilitiesAssignment.cs
- SignerInfo.cs
- MimeObjectFactory.cs
- PropertyPathConverter.cs
- SimpleWorkerRequest.cs
- QueryBranchOp.cs
- EqualityComparer.cs
- TargetControlTypeCache.cs
- ToolStripContentPanelRenderEventArgs.cs
- TaskExtensions.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- HttpCacheVary.cs
- WebPartTransformerAttribute.cs
- Panel.cs
- ToolStripSettings.cs
- SqlBulkCopyColumnMappingCollection.cs
- DataGridItem.cs
- BitStack.cs
- TextReader.cs
- TypeNameConverter.cs
- DomNameTable.cs
- EntityDesignerDataSourceView.cs
- ThreadSafeList.cs
- TrackingWorkflowEventArgs.cs
- ChangeTracker.cs
- ContextInformation.cs
- GraphicsPath.cs
- OdbcPermission.cs
- JsonMessageEncoderFactory.cs
- SemaphoreSecurity.cs
- ClientCultureInfo.cs
- PropertyFilterAttribute.cs
- AncestorChangedEventArgs.cs
- RangeValidator.cs
- NameValuePermission.cs
- SByte.cs
- RuntimeArgumentHandle.cs
- HtmlImageAdapter.cs
- DSASignatureDeformatter.cs
- DataColumnMapping.cs
- PropertyEmitterBase.cs
- Scanner.cs
- RC2.cs
- Win32Interop.cs
- CompositeScriptReference.cs
- Int32.cs
- HitTestDrawingContextWalker.cs
- Query.cs
- SocketException.cs
- PageParser.cs
- GridViewItemAutomationPeer.cs
- WizardStepCollectionEditor.cs
- Cursor.cs
- OdbcFactory.cs
- WindowsRichEdit.cs
- sortedlist.cs
- AttributeQuery.cs
- VirtualDirectoryMappingCollection.cs
- WorkflowApplicationIdleEventArgs.cs
- PropertyItemInternal.cs
- Permission.cs
- XmlSchemaInferenceException.cs
- TransactionException.cs
- RelationshipNavigation.cs
- PropertyRecord.cs
- hresults.cs
- HtmlInputPassword.cs
- CompoundFileStreamReference.cs
- AttributeProviderAttribute.cs
- ResourceDisplayNameAttribute.cs
- BuildManagerHost.cs
- ColumnTypeConverter.cs
- X509AsymmetricSecurityKey.cs
- formatter.cs
- Point3DCollectionConverter.cs
- ArglessEventHandlerProxy.cs
- DependencyPropertyKey.cs
- ConcurrentQueue.cs
- ContentValidator.cs
- Token.cs
- DataGridViewMethods.cs
- SortQueryOperator.cs
- AssociatedControlConverter.cs