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
- GridView.cs
- BaseParser.cs
- Misc.cs
- TransformValueSerializer.cs
- SignatureToken.cs
- DeferredReference.cs
- AppSettingsReader.cs
- InstanceHandle.cs
- SynchronousReceiveBehavior.cs
- SslStreamSecurityBindingElement.cs
- TableProviderWrapper.cs
- TrackingRecord.cs
- ValueQuery.cs
- UpdateEventArgs.cs
- ChannelSinkStacks.cs
- RuntimeCompatibilityAttribute.cs
- DataRelationCollection.cs
- TextFormatterContext.cs
- SessionEndingEventArgs.cs
- Rectangle.cs
- ResourceDisplayNameAttribute.cs
- ConnectionManagementSection.cs
- MaskInputRejectedEventArgs.cs
- FontWeights.cs
- RadioButton.cs
- ListItemConverter.cs
- PriorityBindingExpression.cs
- VideoDrawing.cs
- EditCommandColumn.cs
- XpsFixedPageReaderWriter.cs
- MenuItem.cs
- DataGridViewComponentPropertyGridSite.cs
- ObsoleteAttribute.cs
- securestring.cs
- StringReader.cs
- GPPOINT.cs
- DisplayMemberTemplateSelector.cs
- RawStylusInputReport.cs
- FileChangeNotifier.cs
- ImportCatalogPart.cs
- SystemSounds.cs
- UrlPropertyAttribute.cs
- PageEventArgs.cs
- BindableTemplateBuilder.cs
- PageFunction.cs
- StrokeNodeOperations2.cs
- LocalValueEnumerator.cs
- StreamWriter.cs
- PointHitTestParameters.cs
- XamlToRtfWriter.cs
- TreeViewImageKeyConverter.cs
- ExceptionUtil.cs
- AssemblyCollection.cs
- TableLayoutSettingsTypeConverter.cs
- ImplicitInputBrush.cs
- AsymmetricKeyExchangeFormatter.cs
- SQLSingleStorage.cs
- MailSettingsSection.cs
- SqlTriggerContext.cs
- WebPartAddingEventArgs.cs
- ModuleElement.cs
- PropertyFilterAttribute.cs
- ProfessionalColors.cs
- HuffModule.cs
- KnownAssemblyEntry.cs
- CompilerHelpers.cs
- PieceNameHelper.cs
- Storyboard.cs
- NamespaceInfo.cs
- DetailsView.cs
- AddToCollection.cs
- TriggerCollection.cs
- HttpWebResponse.cs
- PageCodeDomTreeGenerator.cs
- RelationshipEndCollection.cs
- ToolBarOverflowPanel.cs
- MetafileHeaderEmf.cs
- ProxyAttribute.cs
- WebBrowserDesigner.cs
- _CacheStreams.cs
- Exception.cs
- EventManager.cs
- GPPOINT.cs
- UriParserTemplates.cs
- SizeConverter.cs
- Empty.cs
- QilExpression.cs
- DataPointer.cs
- AnimationLayer.cs
- AdornerHitTestResult.cs
- XamlParser.cs
- VirtualizingPanel.cs
- XpsManager.cs
- ThrowHelper.cs
- DataBoundLiteralControl.cs
- GridViewUpdatedEventArgs.cs
- IList.cs
- DetailsViewPagerRow.cs
- Environment.cs
- ControlIdConverter.cs