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
- MethodBuilderInstantiation.cs
- UrlMappingsModule.cs
- EditCommandColumn.cs
- MatrixKeyFrameCollection.cs
- ListSortDescription.cs
- OleDbCommand.cs
- IDispatchConstantAttribute.cs
- ExpressionPrinter.cs
- FolderBrowserDialogDesigner.cs
- CryptoKeySecurity.cs
- PrimitiveType.cs
- XmlDigitalSignatureProcessor.cs
- localization.cs
- WpfPayload.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ProcessManager.cs
- StoreItemCollection.cs
- PathSegmentCollection.cs
- StringValidator.cs
- XmlSchemaRedefine.cs
- ExceptionUtil.cs
- PenThreadPool.cs
- SystemEvents.cs
- TdsValueSetter.cs
- MatchingStyle.cs
- ColorConverter.cs
- MemberHolder.cs
- ImageIndexConverter.cs
- XmlFormatReaderGenerator.cs
- DocumentEventArgs.cs
- PointLight.cs
- XsdDataContractExporter.cs
- RelativeSource.cs
- XpsResource.cs
- HtmlTableCellCollection.cs
- QilTernary.cs
- FirstQueryOperator.cs
- TextTreeUndoUnit.cs
- DbParameterCollection.cs
- RepeatBehaviorConverter.cs
- WorkflowItemsPresenter.cs
- Variable.cs
- RightsManagementEncryptionTransform.cs
- CompiledELinqQueryState.cs
- SystemIcons.cs
- TreeViewImageIndexConverter.cs
- MD5.cs
- CounterSampleCalculator.cs
- LabelDesigner.cs
- DataGridTablesFactory.cs
- HttpCacheVaryByContentEncodings.cs
- TemplateControlCodeDomTreeGenerator.cs
- KeyFrames.cs
- NonClientArea.cs
- TriState.cs
- StyleSelector.cs
- DbProviderManifest.cs
- VisualTreeUtils.cs
- XmlDocument.cs
- OLEDB_Util.cs
- FileSecurity.cs
- RegexNode.cs
- SafeIUnknown.cs
- ToReply.cs
- PermissionSet.cs
- NegotiateStream.cs
- CompressEmulationStream.cs
- AnnotationAdorner.cs
- RegexInterpreter.cs
- OutputCacheProfile.cs
- WebPartDisplayModeCollection.cs
- SimpleLine.cs
- DataGridViewColumnCollection.cs
- FrameworkTextComposition.cs
- PermissionSet.cs
- HTTPRemotingHandler.cs
- SerializationSectionGroup.cs
- SpecialFolderEnumConverter.cs
- SqlMethods.cs
- FixedSOMContainer.cs
- DefaultWorkflowTransactionService.cs
- HostSecurityManager.cs
- EditCommandColumn.cs
- MetadataSource.cs
- HandlerBase.cs
- UrlParameterReader.cs
- HttpBindingExtension.cs
- Animatable.cs
- ColumnReorderedEventArgs.cs
- AnnotationObservableCollection.cs
- StreamWithDictionary.cs
- DataExchangeServiceBinder.cs
- _NTAuthentication.cs
- WebBrowserNavigatedEventHandler.cs
- SHA512CryptoServiceProvider.cs
- Floater.cs
- XPathCompileException.cs
- Font.cs
- EncoderBestFitFallback.cs
- Size3D.cs