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
- CompilationLock.cs
- DesignerDeviceConfig.cs
- ConstraintEnumerator.cs
- BookmarkList.cs
- LingerOption.cs
- VisualCollection.cs
- DatatypeImplementation.cs
- IIS7UserPrincipal.cs
- ReadOnlyDataSource.cs
- CookieHandler.cs
- FixedHyperLink.cs
- QilStrConcat.cs
- QueryInterceptorAttribute.cs
- WindowsToolbarItemAsMenuItem.cs
- TextEditor.cs
- HttpResponse.cs
- VisualTarget.cs
- WhitespaceSignificantCollectionAttribute.cs
- SessionEndingEventArgs.cs
- CompiledQuery.cs
- LayoutDump.cs
- ImpersonateTokenRef.cs
- SchemaNotation.cs
- InputMethodStateChangeEventArgs.cs
- XmlSchemaComplexContentRestriction.cs
- ListViewHitTestInfo.cs
- InternalConfigRoot.cs
- DesignerUtils.cs
- AssemblyBuilder.cs
- OleDbRowUpdatedEvent.cs
- CapacityStreamGeometryContext.cs
- DigestTraceRecordHelper.cs
- WeakEventManager.cs
- AttributeCollection.cs
- TransactionBridge.cs
- CompilationUnit.cs
- CssStyleCollection.cs
- EnumValidator.cs
- TextEffect.cs
- PropertyEmitterBase.cs
- CodeStatement.cs
- MexNamedPipeBindingCollectionElement.cs
- CrossAppDomainChannel.cs
- DataGridView.cs
- StylusButton.cs
- WebBaseEventKeyComparer.cs
- ZipIOCentralDirectoryBlock.cs
- ProfilePropertySettingsCollection.cs
- ComNativeDescriptor.cs
- WSSecurityPolicy.cs
- WindowsFormsSectionHandler.cs
- TabControl.cs
- DataGridCaption.cs
- RadioButton.cs
- PersonalizationStateQuery.cs
- X509Certificate2.cs
- XmlCharCheckingWriter.cs
- DataGridViewRowPrePaintEventArgs.cs
- BackEase.cs
- FrameworkContentElement.cs
- InternalRelationshipCollection.cs
- SecurityException.cs
- AsyncStreamReader.cs
- SpeechRecognitionEngine.cs
- HtmlTableCell.cs
- SqlBuilder.cs
- AdCreatedEventArgs.cs
- DbDeleteCommandTree.cs
- InputScope.cs
- InputProcessorProfiles.cs
- GeometryCombineModeValidation.cs
- IsolatedStoragePermission.cs
- EventMappingSettings.cs
- NonClientArea.cs
- TreeView.cs
- ExtendedPropertyCollection.cs
- Matrix3DStack.cs
- AssociationTypeEmitter.cs
- MimeFormatter.cs
- SqlInternalConnectionTds.cs
- MetadataSerializer.cs
- ExchangeUtilities.cs
- JpegBitmapDecoder.cs
- ServiceNameCollection.cs
- ExtractorMetadata.cs
- MatrixConverter.cs
- XmlQueryTypeFactory.cs
- Attributes.cs
- TemplateBuilder.cs
- ListBoxItemAutomationPeer.cs
- TextBoxBase.cs
- MessageSecurityTokenVersion.cs
- RequestQueue.cs
- StylusDownEventArgs.cs
- ActivityExecutionFilter.cs
- ResXBuildProvider.cs
- SoapFaultCodes.cs
- WorkflowServiceNamespace.cs
- XmlSchemaInferenceException.cs
- FontStretch.cs