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
- GroupLabel.cs
- SQLConvert.cs
- metadatamappinghashervisitor.cs
- AddInAdapter.cs
- XmlWrappingReader.cs
- _KerberosClient.cs
- AddingNewEventArgs.cs
- DataServiceQueryProvider.cs
- ResourceReferenceExpression.cs
- EntitySqlException.cs
- ModelPerspective.cs
- DispatcherExceptionFilterEventArgs.cs
- PageClientProxyGenerator.cs
- WorkflowMarkupSerializationManager.cs
- PriorityQueue.cs
- IntegerValidator.cs
- ToolStripLabel.cs
- PerformanceCounterLib.cs
- BoundColumn.cs
- XmlWhitespace.cs
- KeyValuePairs.cs
- TextServicesLoader.cs
- GridViewRowCollection.cs
- CultureSpecificCharacterBufferRange.cs
- EntitySetDataBindingList.cs
- OuterProxyWrapper.cs
- StackBuilderSink.cs
- CodeDirectionExpression.cs
- ViewgenContext.cs
- StrokeNodeData.cs
- CompositeCollection.cs
- BaseParaClient.cs
- ConfigurationProviderException.cs
- RenderContext.cs
- MaskedTextProvider.cs
- AppDomainManager.cs
- SizeConverter.cs
- ChildDocumentBlock.cs
- Atom10FormatterFactory.cs
- DynamicControl.cs
- KoreanLunisolarCalendar.cs
- FastEncoder.cs
- SchemaDeclBase.cs
- DataGridViewCellStyleChangedEventArgs.cs
- InputGestureCollection.cs
- WebPartVerbsEventArgs.cs
- Typography.cs
- PriorityBindingExpression.cs
- WbmpConverter.cs
- MaterialGroup.cs
- DataContractAttribute.cs
- BlockCollection.cs
- MenuItemBindingCollection.cs
- SR.cs
- BeginStoryboard.cs
- ActivityDesignerHelper.cs
- OracleFactory.cs
- ObjectQuery.cs
- SiblingIterators.cs
- Listbox.cs
- XmlFormatMapping.cs
- SyndicationCategory.cs
- ImportFileRequest.cs
- SymLanguageType.cs
- LocalFileSettingsProvider.cs
- ErrorEventArgs.cs
- DocumentSequence.cs
- AmbientLight.cs
- BitmapEffectvisualstate.cs
- COSERVERINFO.cs
- HandleCollector.cs
- RegistryKey.cs
- DetailsViewPageEventArgs.cs
- SynchronizationLockException.cs
- UriSection.cs
- RuleRefElement.cs
- ChannelSinkStacks.cs
- DecimalConstantAttribute.cs
- XmlWriterDelegator.cs
- AsmxEndpointPickerExtension.cs
- InteropAutomationProvider.cs
- AsyncOperationLifetimeManager.cs
- FtpWebResponse.cs
- KernelTypeValidation.cs
- TemplateField.cs
- Predicate.cs
- EntityTypeEmitter.cs
- ArrangedElementCollection.cs
- ListDataBindEventArgs.cs
- ModelVisual3D.cs
- CurrentChangingEventManager.cs
- MexHttpBindingElement.cs
- SchemaNotation.cs
- TextElementCollectionHelper.cs
- MethodAccessException.cs
- EqualityComparer.cs
- ConnectionManagementSection.cs
- FaultDesigner.cs
- SqlMetaData.cs
- ProfileProvider.cs