Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / DelegatingChannelListener.cs / 1 / DelegatingChannelListener.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { abstract class DelegatingChannelListener: LayeredChannelListener where TChannel : class, IChannel { IChannelAcceptor channelAcceptor; protected DelegatingChannelListener(IDefaultCommunicationTimeouts timeouts, IChannelListener innerChannelListener) : base(timeouts, innerChannelListener) { } protected DelegatingChannelListener(bool sharedInnerListener) : base(sharedInnerListener) { } protected DelegatingChannelListener(bool sharedInnerListener, IDefaultCommunicationTimeouts timeouts) : base(sharedInnerListener, timeouts) { } protected DelegatingChannelListener(bool sharedInnerListener, IDefaultCommunicationTimeouts timeouts, IChannelListener innerChannelListener) : base(sharedInnerListener, timeouts, innerChannelListener) { } public IChannelAcceptor Acceptor { get { return this.channelAcceptor; } set { this.channelAcceptor = value; } } protected override TChannel OnAcceptChannel(TimeSpan timeout) { return this.channelAcceptor.AcceptChannel(timeout); } protected override IAsyncResult OnBeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state) { return this.channelAcceptor.BeginAcceptChannel(timeout, callback, state); } protected override TChannel OnEndAcceptChannel(IAsyncResult result) { return this.channelAcceptor.EndAcceptChannel(result); } protected override bool OnWaitForChannel(TimeSpan timeout) { return this.channelAcceptor.WaitForChannel(timeout); } protected override IAsyncResult OnBeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state) { return this.channelAcceptor.BeginWaitForChannel(timeout, callback, state); } protected override bool OnEndWaitForChannel(IAsyncResult result) { return this.channelAcceptor.EndWaitForChannel(result); } protected override void OnAbort() { base.OnAbort(); if (this.channelAcceptor != null) { this.channelAcceptor.Abort(); } } protected override IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state) { return new ChainedCloseAsyncResult(timeout, callback, state, base.OnBeginClose, base.OnEndClose, this.channelAcceptor); } protected override void OnEndClose(IAsyncResult result) { ChainedCloseAsyncResult.End(result); } protected override void OnClose(TimeSpan timeout) { TimeoutHelper timeoutHelper = new TimeoutHelper(timeout); base.OnClose(timeoutHelper.RemainingTime()); this.channelAcceptor.Close(timeoutHelper.RemainingTime()); } protected override IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state) { return new ChainedOpenAsyncResult(timeout, callback, state, base.OnBeginOpen, base.OnEndOpen, this.channelAcceptor); } protected override void OnEndOpen(IAsyncResult result) { ChainedOpenAsyncResult.End(result); } protected override void OnOpen(TimeSpan timeout) { TimeoutHelper timeoutHelper = new TimeoutHelper(timeout); base.OnOpen(timeoutHelper.RemainingTime()); this.channelAcceptor.Open(timeoutHelper.RemainingTime()); } } } // 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
- PropertyEmitterBase.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- AssemblyCacheEntry.cs
- CommandManager.cs
- NativeMethodsCLR.cs
- MessageBox.cs
- OutputScope.cs
- BitHelper.cs
- BindingGroup.cs
- RepeaterItem.cs
- RegexCaptureCollection.cs
- AutoCompleteStringCollection.cs
- BasicBrowserDialog.designer.cs
- NonClientArea.cs
- ColorMatrix.cs
- FontStyle.cs
- XPathBinder.cs
- CollectionBuilder.cs
- FrameworkElementAutomationPeer.cs
- PolyLineSegment.cs
- Color.cs
- ObjectQuery.cs
- SchemaMerger.cs
- StylusPointPropertyUnit.cs
- ComponentEvent.cs
- RuleSettingsCollection.cs
- InfoCardKeyedHashAlgorithm.cs
- WebDescriptionAttribute.cs
- MenuRendererStandards.cs
- X500Name.cs
- SqlDataRecord.cs
- Viewport3DAutomationPeer.cs
- ImpersonationContext.cs
- RegexNode.cs
- ClientTarget.cs
- ClientProxyGenerator.cs
- WebPartEditorOkVerb.cs
- StatusBarPanelClickEvent.cs
- ElementMarkupObject.cs
- BinHexDecoder.cs
- QilGenerator.cs
- ActivityStateQuery.cs
- Socket.cs
- securitycriticaldataformultiplegetandset.cs
- SchemaComplexType.cs
- bidPrivateBase.cs
- PasswordBox.cs
- CleanUpVirtualizedItemEventArgs.cs
- TextRangeSerialization.cs
- PageHandlerFactory.cs
- UpdateRecord.cs
- GPPOINTF.cs
- PersonalizationProviderHelper.cs
- ErrorWebPart.cs
- ListItem.cs
- ClaimComparer.cs
- VideoDrawing.cs
- HWStack.cs
- ValueType.cs
- GregorianCalendar.cs
- FixedSOMSemanticBox.cs
- PhysicalAddress.cs
- SqlComparer.cs
- XMLSyntaxException.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- Cursor.cs
- AssemblyAttributes.cs
- ConstraintManager.cs
- SequentialActivityDesigner.cs
- AutomationEventArgs.cs
- XamlTreeBuilder.cs
- Function.cs
- HierarchicalDataBoundControl.cs
- IFormattable.cs
- InheritablePropertyChangeInfo.cs
- ScriptControl.cs
- GridViewColumnCollection.cs
- MexHttpBindingCollectionElement.cs
- RegexCharClass.cs
- DataBindingExpressionBuilder.cs
- arabicshape.cs
- LinqExpressionNormalizer.cs
- DesignerVerbCollection.cs
- SamlAuthorizationDecisionStatement.cs
- CodeGroup.cs
- ISAPIRuntime.cs
- RuleSetReference.cs
- SmiSettersStream.cs
- UIElement.cs
- QueryCreatedEventArgs.cs
- LineGeometry.cs
- ByteAnimation.cs
- TagPrefixCollection.cs
- TdsParserHelperClasses.cs
- WebUtil.cs
- CatalogPartChrome.cs
- SqlCrossApplyToCrossJoin.cs
- LineGeometry.cs
- VirtualPathUtility.cs
- NonClientArea.cs