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
- CommandHelper.cs
- FieldAccessException.cs
- ProtectedConfigurationSection.cs
- ComponentResourceManager.cs
- ExpandCollapseProviderWrapper.cs
- PropertyGridEditorPart.cs
- GridItemProviderWrapper.cs
- Int64KeyFrameCollection.cs
- XmlSchemaSimpleTypeUnion.cs
- AttributeQuery.cs
- MaskedTextProvider.cs
- CodeTypeDeclarationCollection.cs
- UrlMapping.cs
- XmlStringTable.cs
- Material.cs
- DomainUpDown.cs
- MenuAdapter.cs
- IndexOutOfRangeException.cs
- PersonalizableAttribute.cs
- DbExpressionVisitor_TResultType.cs
- XmlReaderSettings.cs
- TouchFrameEventArgs.cs
- CodePropertyReferenceExpression.cs
- Symbol.cs
- BindingSource.cs
- UmAlQuraCalendar.cs
- LambdaExpression.cs
- MarkupCompilePass2.cs
- ConfigurationElement.cs
- SchemaLookupTable.cs
- WebPartCancelEventArgs.cs
- odbcmetadatafactory.cs
- bindurihelper.cs
- DrawingVisual.cs
- ColorAnimationBase.cs
- ToolboxItemLoader.cs
- TrackingLocation.cs
- GatewayDefinition.cs
- infer.cs
- CopyNodeSetAction.cs
- SpellerInterop.cs
- MatrixAnimationBase.cs
- InternalConfigHost.cs
- SortQueryOperator.cs
- SqlTypeSystemProvider.cs
- TwoPhaseCommitProxy.cs
- DataGridState.cs
- KeyBinding.cs
- ListViewDeletedEventArgs.cs
- WindowProviderWrapper.cs
- UnsafeNativeMethodsPenimc.cs
- BuildManagerHost.cs
- ColumnMapVisitor.cs
- MimeFormReflector.cs
- ResourceAttributes.cs
- HttpCapabilitiesBase.cs
- ValidateNames.cs
- TextElementEditingBehaviorAttribute.cs
- Preprocessor.cs
- FormViewUpdateEventArgs.cs
- ProcessHostConfigUtils.cs
- SpeakCompletedEventArgs.cs
- ToolboxItem.cs
- XmlSerializableReader.cs
- ArcSegment.cs
- DeflateStream.cs
- HijriCalendar.cs
- SkipQueryOptionExpression.cs
- WindowsTokenRoleProvider.cs
- OutputCacheEntry.cs
- ExpanderAutomationPeer.cs
- AppLevelCompilationSectionCache.cs
- RuntimeComponentFilter.cs
- CodeGeneratorAttribute.cs
- NameValueSectionHandler.cs
- TemplateBindingExpressionConverter.cs
- KnownColorTable.cs
- HtmlInputPassword.cs
- CrossAppDomainChannel.cs
- TdsParserSafeHandles.cs
- ExpressionEditorSheet.cs
- CodeExporter.cs
- MetafileHeader.cs
- Visual3D.cs
- DependencyProperty.cs
- Model3DGroup.cs
- AsyncOperationManager.cs
- CapiNative.cs
- WebPartDeleteVerb.cs
- XmlSecureResolver.cs
- RowBinding.cs
- CacheEntry.cs
- TextEncodedRawTextWriter.cs
- PolyQuadraticBezierSegment.cs
- SubMenuStyleCollection.cs
- FixedSOMTableCell.cs
- PolicyLevel.cs
- TreeViewEvent.cs
- PropertyGrid.cs
- LocalizedNameDescriptionPair.cs