Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / InputQueueChannelAcceptor.cs / 1 / InputQueueChannelAcceptor.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- namespace System.ServiceModel.Channels { class InputQueueChannelAcceptor: ChannelAcceptor where TChannel : class, IChannel { InputQueue channelQueue; public InputQueueChannelAcceptor(ChannelManagerBase channelManager) : base(channelManager) { this.channelQueue = new InputQueue (); } public int PendingCount { get { return this.channelQueue.PendingCount; } } public override TChannel AcceptChannel(TimeSpan timeout) { this.ThrowIfNotOpened(); return this.channelQueue.Dequeue(timeout); } public override IAsyncResult BeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state) { this.ThrowIfNotOpened(); return this.channelQueue.BeginDequeue(timeout, callback, state); } public void Dispatch() { this.channelQueue.Dispatch(); } public override TChannel EndAcceptChannel(IAsyncResult result) { return this.channelQueue.EndDequeue(result); } public void EnqueueAndDispatch(TChannel channel) { this.channelQueue.EnqueueAndDispatch(channel); } public void EnqueueAndDispatch(TChannel channel, ItemDequeuedCallback dequeuedCallback) { this.channelQueue.EnqueueAndDispatch(channel, dequeuedCallback); } public bool EnqueueWithoutDispatch(TChannel channel, ItemDequeuedCallback dequeuedCallback) { return this.channelQueue.EnqueueWithoutDispatch(channel, dequeuedCallback); } public virtual bool EnqueueWithoutDispatch(Exception exception, ItemDequeuedCallback dequeuedCallback) { return this.channelQueue.EnqueueWithoutDispatch(exception, dequeuedCallback); } public void EnqueueAndDispatch(TChannel channel, ItemDequeuedCallback dequeuedCallback, bool canDispatchOnThisThread) { this.channelQueue.EnqueueAndDispatch(channel, dequeuedCallback, canDispatchOnThisThread); } public virtual void EnqueueAndDispatch(Exception exception, ItemDequeuedCallback dequeuedCallback, bool canDispatchOnThisThread) { this.channelQueue.EnqueueAndDispatch(exception, dequeuedCallback, canDispatchOnThisThread); } public void FaultQueue() { this.Fault(); } protected override void OnClosed() { base.OnClosed(); this.channelQueue.Dispose(); } protected override void OnFaulted() { this.channelQueue.Shutdown(this.ChannelManager); base.OnFaulted(); } public override bool WaitForChannel(TimeSpan timeout) { this.ThrowIfNotOpened(); return this.channelQueue.WaitForItem(timeout); } public override IAsyncResult BeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state) { this.ThrowIfNotOpened(); return this.channelQueue.BeginWaitForItem(timeout, callback, state); } public override bool EndWaitForChannel(IAsyncResult result) { return this.channelQueue.EndWaitForItem(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
- ProcessModule.cs
- XmlQueryContext.cs
- ListViewGroupConverter.cs
- FreezableDefaultValueFactory.cs
- ConfigXmlElement.cs
- RangeContentEnumerator.cs
- CodeDefaultValueExpression.cs
- securitymgrsite.cs
- ColorBlend.cs
- SettingsProperty.cs
- Security.cs
- ObfuscateAssemblyAttribute.cs
- ContractListAdapter.cs
- HtmlControlPersistable.cs
- TraceListener.cs
- LayoutManager.cs
- XmlExtensionFunction.cs
- WaitHandleCannotBeOpenedException.cs
- DateTime.cs
- BoundPropertyEntry.cs
- TileBrush.cs
- AuthenticationConfig.cs
- TextPointer.cs
- ListSourceHelper.cs
- XmlElement.cs
- SafeCryptoHandles.cs
- ProgressChangedEventArgs.cs
- XmlFormatWriterGenerator.cs
- Brush.cs
- SecurityResources.cs
- ChildChangedEventArgs.cs
- BinaryObjectInfo.cs
- XmlQualifiedName.cs
- DoubleConverter.cs
- CompositionTarget.cs
- OperationResponse.cs
- BreakRecordTable.cs
- SqlServer2KCompatibilityCheck.cs
- RadioButton.cs
- NTAccount.cs
- DateTimeFormatInfoScanner.cs
- InstanceDescriptor.cs
- PrintDialog.cs
- PointUtil.cs
- WindowsFont.cs
- ProgramNode.cs
- XmlNamespaceMapping.cs
- WebPartManagerInternals.cs
- MediaPlayer.cs
- FormViewModeEventArgs.cs
- CallSiteOps.cs
- TimeoutHelper.cs
- System.Data_BID.cs
- UriTemplateMatch.cs
- BindingContext.cs
- ItemAutomationPeer.cs
- RC2CryptoServiceProvider.cs
- DescendantQuery.cs
- WorkflowInstanceProxy.cs
- XmlWriter.cs
- DesignerUtils.cs
- BookmarkTable.cs
- DynamicDocumentPaginator.cs
- DataContractJsonSerializerOperationBehavior.cs
- BlockingCollection.cs
- ClrPerspective.cs
- ListItem.cs
- HttpClientProtocol.cs
- WebPartTracker.cs
- DirectoryInfo.cs
- TrustManager.cs
- HandleCollector.cs
- TypeInitializationException.cs
- ValidationErrorCollection.cs
- BitmapScalingModeValidation.cs
- AccessDataSourceWizardForm.cs
- TaskExtensions.cs
- ListMarkerSourceInfo.cs
- ConsoleTraceListener.cs
- EventLogWatcher.cs
- PointHitTestResult.cs
- CellTreeNode.cs
- AbsoluteQuery.cs
- SelectionItemPattern.cs
- BackEase.cs
- InkSerializer.cs
- RadioButton.cs
- XmlSchemaAttributeGroupRef.cs
- NameSpaceExtractor.cs
- HebrewCalendar.cs
- RuntimeUtils.cs
- WmlImageAdapter.cs
- Padding.cs
- PerformanceCounterPermissionAttribute.cs
- DesignDataSource.cs
- SecureConversationSecurityTokenParameters.cs
- TextEditorTyping.cs
- ItemsPresenter.cs
- __Error.cs
- BamlRecordWriter.cs