Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / TerminatingOperationBehavior.cs / 1 / TerminatingOperationBehavior.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System.ServiceModel.Channels; internal class TerminatingOperationBehavior { static void AbortChannel(object state) { ((IChannel)state).Abort(); } public static TerminatingOperationBehavior CreateIfNecessary(DispatchRuntime dispatch) { if (IsTerminatingOperationBehaviorNeeded(dispatch)) { return new TerminatingOperationBehavior(); } else { return null; } } static bool IsTerminatingOperationBehaviorNeeded(DispatchRuntime dispatch) { for (int i = 0; i < dispatch.Operations.Count; i++) { DispatchOperation operation = dispatch.Operations[i]; if (operation.IsTerminating) { return true; } } return false; } internal void AfterReply(ref MessageRpc rpc) { if (rpc.Operation.IsTerminating && rpc.Channel.HasSession) { IOThreadTimer timer = new IOThreadTimer(TerminatingOperationBehavior.AbortChannel, rpc.Channel.Binder.Channel, false); timer.Set(rpc.Channel.CloseTimeout); } } internal static void AfterReply(ref ProxyRpc rpc) { if (rpc.Operation.IsTerminating && rpc.Channel.HasSession) { IChannel sessionChannel = rpc.Channel.Binder.Channel; rpc.Channel.Close(rpc.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
- CodeDelegateInvokeExpression.cs
- ellipse.cs
- GroupBox.cs
- CookielessHelper.cs
- EdmScalarPropertyAttribute.cs
- COAUTHINFO.cs
- SoapAttributes.cs
- ResourceReferenceExpressionConverter.cs
- DetailsViewPagerRow.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- XmlSchemaSimpleContentExtension.cs
- Encoder.cs
- ToolStripAdornerWindowService.cs
- TableSectionStyle.cs
- StreamGeometry.cs
- DaylightTime.cs
- TargetControlTypeCache.cs
- DataStreams.cs
- PrintPreviewDialog.cs
- ReaderOutput.cs
- ItemTypeToolStripMenuItem.cs
- SByteConverter.cs
- BufferedWebEventProvider.cs
- SessionStateUtil.cs
- SimpleBitVector32.cs
- LazyTextWriterCreator.cs
- XmlTextReaderImplHelpers.cs
- XmlSchemaSimpleType.cs
- MenuBindingsEditorForm.cs
- HttpApplicationStateWrapper.cs
- KernelTypeValidation.cs
- NameValueFileSectionHandler.cs
- DetailsViewUpdatedEventArgs.cs
- RequestCacheValidator.cs
- DynamicUpdateCommand.cs
- PrivilegedConfigurationManager.cs
- RijndaelManaged.cs
- FileDialog_Vista.cs
- DockAndAnchorLayout.cs
- SqlParameter.cs
- PartitionedDataSource.cs
- XmlILModule.cs
- ClientSideProviderDescription.cs
- AssemblyResourceLoader.cs
- ListItemConverter.cs
- InteropAutomationProvider.cs
- XmlReader.cs
- WebControl.cs
- BaseTreeIterator.cs
- entityreference_tresulttype.cs
- GrammarBuilder.cs
- OutputCacheSettings.cs
- RegexStringValidatorAttribute.cs
- Registration.cs
- CompiledAction.cs
- BindingExpressionBase.cs
- SafeArrayTypeMismatchException.cs
- QueryContinueDragEvent.cs
- SchemaImporter.cs
- TargetConverter.cs
- StringStorage.cs
- OleDbParameter.cs
- DataSourceComponent.cs
- SaveFileDialog.cs
- PartitionedStreamMerger.cs
- EndpointInfo.cs
- TemplateField.cs
- Application.cs
- RtfFormatStack.cs
- ActiveDocumentEvent.cs
- SystemSounds.cs
- ValueSerializerAttribute.cs
- XappLauncher.cs
- CorrelationManager.cs
- FormattedTextSymbols.cs
- CollectionBase.cs
- DataSvcMapFile.cs
- TextElementCollectionHelper.cs
- EntityCollection.cs
- TypeRestriction.cs
- ContentPathSegment.cs
- RemotingConfiguration.cs
- SessionPageStateSection.cs
- ObjectAnimationUsingKeyFrames.cs
- ImportCatalogPart.cs
- objectquery_tresulttype.cs
- CustomValidator.cs
- ImageListUtils.cs
- JsonWriter.cs
- OleDbParameterCollection.cs
- MarkupCompiler.cs
- DynamicMetaObjectBinder.cs
- RegionData.cs
- ToolStripStatusLabel.cs
- isolationinterop.cs
- FrameworkElement.cs
- ClientFormsIdentity.cs
- DesignerLoader.cs
- BitmapEffectDrawingContextState.cs
- X509ChainPolicy.cs