Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / MsmqInputChannelListenerBase.cs / 1 / MsmqInputChannelListenerBase.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { abstract class MsmqInputChannelListenerBase : MsmqChannelListenerBase{ InputQueueChannelAcceptor acceptor; internal MsmqInputChannelListenerBase(MsmqBindingElementBase bindingElement, BindingContext context, MsmqReceiveParameters receiveParameters) : this(bindingElement, context, receiveParameters, TransportDefaults.GetDefaultMessageEncoderFactory()) {} internal MsmqInputChannelListenerBase(MsmqBindingElementBase bindingElement, BindingContext context, MsmqReceiveParameters receiveParameters, MessageEncoderFactory encoderFactory) : base(bindingElement, context, receiveParameters, encoderFactory) { this.acceptor = new InputQueueChannelAcceptor (this); } void OnNewChannelNeeded(object sender, EventArgs ea) { if (! this.IsDisposed && (CommunicationState.Opened == this.State || CommunicationState.Opening == this.State)) { IInputChannel inputChannel = CreateInputChannel(this); inputChannel.Closed += OnNewChannelNeeded; this.acceptor.EnqueueAndDispatch(inputChannel); } } protected override void OnOpenCore(TimeSpan timeout) { base.OnOpenCore(timeout); this.acceptor.Open(); OnNewChannelNeeded(this, EventArgs.Empty); } protected override void OnCloseCore(bool aborting) { this.acceptor.Close(); base.OnCloseCore(aborting); } protected abstract IInputChannel CreateInputChannel(MsmqInputChannelListenerBase listener); // AcceptChannel public override IInputChannel AcceptChannel() { return AcceptChannel(this.DefaultReceiveTimeout); } // public override IAsyncResult BeginAcceptChannel(AsyncCallback callback, object state) { return BeginAcceptChannel(this.DefaultReceiveTimeout, callback, state); } // public override IInputChannel AcceptChannel(TimeSpan timeout) { return this.acceptor.AcceptChannel(timeout); } // public override IAsyncResult BeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state) { return this.acceptor.BeginAcceptChannel(timeout, callback, state); } // public override IInputChannel EndAcceptChannel(IAsyncResult result) { return this.acceptor.EndAcceptChannel(result); } // WaitForChannel protected override bool OnWaitForChannel(TimeSpan timeout) { return this.acceptor.WaitForChannel(timeout); } // protected override IAsyncResult OnBeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state) { return this.acceptor.BeginWaitForChannel(timeout, callback, state); } // protected override bool OnEndWaitForChannel(IAsyncResult result) { return this.acceptor.EndWaitForChannel(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
- XmlQueryType.cs
- FastEncoderWindow.cs
- PathSegment.cs
- NamespaceList.cs
- SolidBrush.cs
- GenerateTemporaryTargetAssembly.cs
- TemplatePropertyEntry.cs
- GreenMethods.cs
- Error.cs
- EncoderNLS.cs
- ContextConfiguration.cs
- ObjectContextServiceProvider.cs
- XmlUTF8TextWriter.cs
- WindowsTooltip.cs
- DbConnectionHelper.cs
- Int32CollectionValueSerializer.cs
- LightweightCodeGenerator.cs
- XmlIlVisitor.cs
- PlanCompilerUtil.cs
- PropertyEmitter.cs
- UpdateException.cs
- ResourcePool.cs
- OperationAbortedException.cs
- NotifyParentPropertyAttribute.cs
- CachedFontFamily.cs
- Int64Animation.cs
- WebPartDeleteVerb.cs
- DesignerTransaction.cs
- KnownIds.cs
- SecurityCookieModeValidator.cs
- SqlParameter.cs
- SamlEvidence.cs
- Enlistment.cs
- ParseChildrenAsPropertiesAttribute.cs
- MarshalByRefObject.cs
- StateInitialization.cs
- Vector3DValueSerializer.cs
- Image.cs
- ClassValidator.cs
- ArrayTypeMismatchException.cs
- ByteAnimationBase.cs
- ButtonBase.cs
- QueryNode.cs
- QilTargetType.cs
- ProfileGroupSettings.cs
- GuidelineSet.cs
- DataServiceHost.cs
- AssemblySettingAttributes.cs
- JapaneseCalendar.cs
- SqlDataRecord.cs
- ProcessHostMapPath.cs
- ExpandSegmentCollection.cs
- GlyphInfoList.cs
- PointAnimationUsingKeyFrames.cs
- AutomationPatternInfo.cs
- HttpRuntimeSection.cs
- DBCSCodePageEncoding.cs
- OciEnlistContext.cs
- CharacterHit.cs
- LayoutEngine.cs
- ISFTagAndGuidCache.cs
- Config.cs
- GeneralTransform.cs
- DataTableReader.cs
- ReferencedCollectionType.cs
- TypographyProperties.cs
- ScriptReferenceEventArgs.cs
- PathStreamGeometryContext.cs
- ModulesEntry.cs
- InstanceStore.cs
- ObjectViewListener.cs
- TimeoutValidationAttribute.cs
- SqlVersion.cs
- WebPartManagerInternals.cs
- WindowHideOrCloseTracker.cs
- Section.cs
- PageSetupDialog.cs
- SqlBooleanMismatchVisitor.cs
- Paragraph.cs
- StoreAnnotationsMap.cs
- ControlCachePolicy.cs
- XPathSelfQuery.cs
- FragmentNavigationEventArgs.cs
- RelatedPropertyManager.cs
- ServiceDescriptionContext.cs
- Semaphore.cs
- ScriptResourceInfo.cs
- EditingScope.cs
- DbMetaDataColumnNames.cs
- SequentialOutput.cs
- XamlFigureLengthSerializer.cs
- WarningException.cs
- XmlWriterDelegator.cs
- GridViewDeletedEventArgs.cs
- ValidatorCompatibilityHelper.cs
- ChoiceConverter.cs
- PointValueSerializer.cs
- BufferedStream.cs
- SimpleBitVector32.cs
- DesignerActionPropertyItem.cs