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
- ModuleElement.cs
- LookupNode.cs
- SqlConnectionStringBuilder.cs
- Pair.cs
- TickBar.cs
- X509CertificateEndpointIdentity.cs
- odbcmetadatacolumnnames.cs
- PKCS1MaskGenerationMethod.cs
- GenericTextProperties.cs
- ScrollEvent.cs
- PrincipalPermission.cs
- StyleModeStack.cs
- FastEncoderWindow.cs
- GiveFeedbackEvent.cs
- PagerSettings.cs
- ServiceModelConfigurationElementCollection.cs
- DecoderBestFitFallback.cs
- BitSet.cs
- DocumentViewerHelper.cs
- OrderByQueryOptionExpression.cs
- BaseCodePageEncoding.cs
- precedingquery.cs
- AttachInfo.cs
- ChangeTracker.cs
- Bits.cs
- basenumberconverter.cs
- RadioButtonStandardAdapter.cs
- MenuTracker.cs
- FloaterBaseParagraph.cs
- OdbcConnectionStringbuilder.cs
- InputMethodStateChangeEventArgs.cs
- CalendarDay.cs
- CommandPlan.cs
- ReceiveDesigner.xaml.cs
- ControlBuilder.cs
- TdsValueSetter.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TransformedBitmap.cs
- DataListComponentEditor.cs
- ObjectStateEntry.cs
- SchemaImporter.cs
- PtsCache.cs
- DifferencingCollection.cs
- IndexOutOfRangeException.cs
- ParallelLoopState.cs
- XmlnsDictionary.cs
- RtfControlWordInfo.cs
- CursorConverter.cs
- XPathConvert.cs
- GenericRootAutomationPeer.cs
- ResourceDisplayNameAttribute.cs
- TableChangeProcessor.cs
- XamlSerializationHelper.cs
- XmlUtf8RawTextWriter.cs
- XmlLoader.cs
- Query.cs
- ExitEventArgs.cs
- CodeMemberField.cs
- TypedElement.cs
- FormatPage.cs
- ToolstripProfessionalRenderer.cs
- OutputCacheProfileCollection.cs
- CodeAttributeDeclarationCollection.cs
- RuntimeHelpers.cs
- CompiledRegexRunnerFactory.cs
- CodeTypeDelegate.cs
- AccessDataSourceWizardForm.cs
- AliasGenerator.cs
- IDQuery.cs
- SegmentInfo.cs
- ExceptionUtil.cs
- Accessors.cs
- MarginsConverter.cs
- Enlistment.cs
- Line.cs
- ErrorFormatter.cs
- SqlProcedureAttribute.cs
- Int32Converter.cs
- DSASignatureFormatter.cs
- ScriptDescriptor.cs
- AdapterUtil.cs
- WebPartUtil.cs
- ApplicationSecurityInfo.cs
- ExtenderControl.cs
- XPathMultyIterator.cs
- IPPacketInformation.cs
- DependencyObjectProvider.cs
- TableAdapterManagerNameHandler.cs
- SQLDecimalStorage.cs
- XmlBinaryReader.cs
- DataGridAutoFormatDialog.cs
- QilInvokeLateBound.cs
- XmlC14NWriter.cs
- GridViewItemAutomationPeer.cs
- DataListItem.cs
- OutputCacheProfile.cs
- OleCmdHelper.cs
- RequestContext.cs
- NetworkAddressChange.cs
- SoapHttpTransportImporter.cs