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
- ReadOnlyKeyedCollection.cs
- UriScheme.cs
- FlowThrottle.cs
- HTTPNotFoundHandler.cs
- WebPartEditorApplyVerb.cs
- HttpStreamMessageEncoderFactory.cs
- AssemblyFilter.cs
- MenuCommandsChangedEventArgs.cs
- ProofTokenCryptoHandle.cs
- RelationshipEndMember.cs
- SendSecurityHeaderElement.cs
- SessionStateItemCollection.cs
- RootProfilePropertySettingsCollection.cs
- LineProperties.cs
- ToggleButton.cs
- ThreadStateException.cs
- KnownTypesHelper.cs
- StringFunctions.cs
- EraserBehavior.cs
- XPathDocument.cs
- PageThemeBuildProvider.cs
- Size3DValueSerializer.cs
- SecurityTokenProviderContainer.cs
- XmlElementCollection.cs
- TextEncodedRawTextWriter.cs
- RuntimeHelpers.cs
- NativeRecognizer.cs
- UnrecognizedAssertionsBindingElement.cs
- TextInfo.cs
- XmlUtil.cs
- CopyCodeAction.cs
- DataColumnMapping.cs
- MenuItemCollectionEditor.cs
- SyndicationFeed.cs
- CompareValidator.cs
- ProgressPage.cs
- DataServiceProviderWrapper.cs
- CodeBlockBuilder.cs
- ObjectView.cs
- ExponentialEase.cs
- SystemIcmpV6Statistics.cs
- SqlWebEventProvider.cs
- NameValuePair.cs
- ConstantSlot.cs
- ExecutedRoutedEventArgs.cs
- TextBox.cs
- IHttpResponseInternal.cs
- FontSource.cs
- BackStopAuthenticationModule.cs
- MimeReturn.cs
- SocketInformation.cs
- CustomValidator.cs
- EmissiveMaterial.cs
- GcHandle.cs
- DesignerTransaction.cs
- EmulateRecognizeCompletedEventArgs.cs
- DefaultMemberAttribute.cs
- XDeferredAxisSource.cs
- DbUpdateCommandTree.cs
- Rotation3DKeyFrameCollection.cs
- ApplicationCommands.cs
- TableItemProviderWrapper.cs
- BmpBitmapDecoder.cs
- OledbConnectionStringbuilder.cs
- ExpressionBuilderContext.cs
- ImmutableObjectAttribute.cs
- Argument.cs
- CapabilitiesUse.cs
- SafeProcessHandle.cs
- PrePostDescendentsWalker.cs
- _NetworkingPerfCounters.cs
- MetadataPropertyvalue.cs
- NameScope.cs
- TickBar.cs
- SqlBulkCopy.cs
- HierarchicalDataBoundControl.cs
- ReadOnlyDataSource.cs
- StringComparer.cs
- WebControlParameterProxy.cs
- WebScriptMetadataMessage.cs
- OleDbFactory.cs
- DataGridColumn.cs
- HtmlSelect.cs
- BitVec.cs
- SessionSwitchEventArgs.cs
- InstanceDataCollectionCollection.cs
- MobileListItemCollection.cs
- AssemblyAttributesGoHere.cs
- Padding.cs
- DataGridViewColumnTypeEditor.cs
- EncoderExceptionFallback.cs
- LayoutEngine.cs
- FixedBufferAttribute.cs
- XmlAnyAttributeAttribute.cs
- SecurityTokenAuthenticator.cs
- TimeZone.cs
- DecimalStorage.cs
- PageContentAsyncResult.cs
- ListView.cs
- StreamInfo.cs