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
- ListViewDeleteEventArgs.cs
- milexports.cs
- LinkedList.cs
- WindowsListViewScroll.cs
- ResourceWriter.cs
- TypedTableHandler.cs
- ReferenceConverter.cs
- Vector3DCollectionValueSerializer.cs
- ClientSession.cs
- _CookieModule.cs
- AuthenticatedStream.cs
- CodeMemberMethod.cs
- SponsorHelper.cs
- FunctionDefinition.cs
- IsolatedStoragePermission.cs
- SqlOuterApplyReducer.cs
- DataControlFieldsEditor.cs
- sqlinternaltransaction.cs
- QuadraticBezierSegment.cs
- ComponentEvent.cs
- PersonalizationState.cs
- DatagridviewDisplayedBandsData.cs
- Package.cs
- FontDifferentiator.cs
- HttpCacheVaryByContentEncodings.cs
- QilExpression.cs
- TableRowCollection.cs
- SortQuery.cs
- versioninfo.cs
- Options.cs
- EventDescriptor.cs
- Pen.cs
- DateTimeParse.cs
- CopyAttributesAction.cs
- Helpers.cs
- DecoderExceptionFallback.cs
- TopClause.cs
- DefaultTraceListener.cs
- RenderOptions.cs
- BindingListCollectionView.cs
- AnimationException.cs
- UrlPath.cs
- MissingFieldException.cs
- InlineUIContainer.cs
- SequentialWorkflowRootDesigner.cs
- DbProviderFactoriesConfigurationHandler.cs
- RegularExpressionValidator.cs
- BuildProviderAppliesToAttribute.cs
- HandlerFactoryCache.cs
- EpmCustomContentWriterNodeData.cs
- DatatypeImplementation.cs
- CollectionViewGroupRoot.cs
- ScalarConstant.cs
- Section.cs
- XmlAttributeAttribute.cs
- PDBReader.cs
- MemberHolder.cs
- DataGridBoolColumn.cs
- TypographyProperties.cs
- AuthenticatedStream.cs
- WebRequestModuleElementCollection.cs
- SqlUserDefinedTypeAttribute.cs
- NetNamedPipeBindingCollectionElement.cs
- Adorner.cs
- WebServiceClientProxyGenerator.cs
- ConnectionsZoneAutoFormat.cs
- WindowsMenu.cs
- Decimal.cs
- MatrixTransform3D.cs
- ProcessModuleCollection.cs
- EntityViewContainer.cs
- OdbcCommandBuilder.cs
- DCSafeHandle.cs
- TableLayoutRowStyleCollection.cs
- PersonalizationProviderHelper.cs
- TransformerTypeCollection.cs
- Serialization.cs
- NativeCompoundFileAPIs.cs
- WorkBatch.cs
- WindowsSecurityToken.cs
- EventlogProvider.cs
- TakeQueryOptionExpression.cs
- NegatedConstant.cs
- EntitySqlException.cs
- SettingsPropertyValueCollection.cs
- _NativeSSPI.cs
- ItemAutomationPeer.cs
- RectIndependentAnimationStorage.cs
- HMACSHA512.cs
- LogFlushAsyncResult.cs
- EdgeProfileValidation.cs
- ConfigurationSectionGroup.cs
- SevenBitStream.cs
- HighContrastHelper.cs
- EntityStoreSchemaFilterEntry.cs
- AssociativeAggregationOperator.cs
- UnionExpr.cs
- ContextStack.cs
- xdrvalidator.cs
- WebConfigurationHostFileChange.cs