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
- OdbcEnvironment.cs
- RadioButton.cs
- CatchDesigner.xaml.cs
- RawStylusActions.cs
- SQLDouble.cs
- BrowserInteropHelper.cs
- XPathChildIterator.cs
- XamlTypeWithExplicitNamespace.cs
- Stream.cs
- AggregateNode.cs
- LinearGradientBrush.cs
- SafeThreadHandle.cs
- InvokePattern.cs
- InvalidCommandTreeException.cs
- SoapAttributeOverrides.cs
- ContractNamespaceAttribute.cs
- XamlGridLengthSerializer.cs
- StringComparer.cs
- PolicyValidationException.cs
- InkSerializer.cs
- MILUtilities.cs
- ToolboxItem.cs
- Resources.Designer.cs
- ConfigurationException.cs
- PointKeyFrameCollection.cs
- HeaderCollection.cs
- UpdatePanelTriggerCollection.cs
- SecurityPolicySection.cs
- HMACMD5.cs
- ProxyHwnd.cs
- MembershipSection.cs
- IndexedSelectQueryOperator.cs
- SqlErrorCollection.cs
- VirtualPathProvider.cs
- RightsManagementEncryptionTransform.cs
- WebServiceData.cs
- BuildManager.cs
- CollectionViewSource.cs
- EncryptedType.cs
- Calendar.cs
- ObjectParameter.cs
- ThemeDictionaryExtension.cs
- DecimalStorage.cs
- ActivityValidator.cs
- SiteMapProvider.cs
- PointAnimationClockResource.cs
- WebPartMenuStyle.cs
- ScriptReferenceEventArgs.cs
- RoleManagerSection.cs
- RegistrySecurity.cs
- XmlDeclaration.cs
- RankException.cs
- SiteMapPathDesigner.cs
- SqlDataRecord.cs
- CompilerScopeManager.cs
- Triangle.cs
- SqlUdtInfo.cs
- ComplexObject.cs
- ElapsedEventArgs.cs
- ProcessManager.cs
- CompositeTypefaceMetrics.cs
- DataRecordInfo.cs
- ProxyDataContractResolver.cs
- CaseStatementSlot.cs
- ContractCodeDomInfo.cs
- ObjectAssociationEndMapping.cs
- KeyGestureValueSerializer.cs
- LinqDataSourceContextEventArgs.cs
- hwndwrapper.cs
- PersistenceTypeAttribute.cs
- FaultHandlingFilter.cs
- IconConverter.cs
- View.cs
- MessageHeader.cs
- FontCacheUtil.cs
- PlanCompilerUtil.cs
- SoapSchemaExporter.cs
- Queue.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- BitFlagsGenerator.cs
- TextViewBase.cs
- ThicknessKeyFrameCollection.cs
- MimeObjectFactory.cs
- StreamGeometry.cs
- Separator.cs
- AnimationTimeline.cs
- FileSystemWatcher.cs
- AdornerHitTestResult.cs
- ComponentEvent.cs
- SQLDateTimeStorage.cs
- TextDecorationLocationValidation.cs
- HttpListenerRequest.cs
- FlatButtonAppearance.cs
- GridViewCancelEditEventArgs.cs
- ForceCopyBuildProvider.cs
- ResourceDictionaryCollection.cs
- QueryOperationResponseOfT.cs
- ActivityMetadata.cs
- ManageRequest.cs
- QueryExpr.cs