Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / ChannelPoolSettings.cs / 1 / ChannelPoolSettings.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Channels
{
using System.Collections.Generic;
using System.ServiceModel;
using System.Runtime.Serialization;
using System.Xml;
using System.ServiceModel.Description;
using System.ServiceModel.Security;
public class ChannelPoolSettings
{
TimeSpan idleTimeout;
TimeSpan leaseTimeout;
int maxOutboundChannelsPerEndpoint;
public ChannelPoolSettings()
{
this.idleTimeout = OneWayDefaults.IdleTimeout;
this.leaseTimeout = OneWayDefaults.LeaseTimeout;
this.maxOutboundChannelsPerEndpoint = OneWayDefaults.MaxOutboundChannelsPerEndpoint;
}
ChannelPoolSettings(ChannelPoolSettings poolToBeCloned)
{
this.idleTimeout = poolToBeCloned.idleTimeout;
this.leaseTimeout = poolToBeCloned.leaseTimeout;
this.maxOutboundChannelsPerEndpoint = poolToBeCloned.maxOutboundChannelsPerEndpoint;
}
public TimeSpan IdleTimeout
{
get
{
return this.idleTimeout;
}
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRange0)));
}
if (TimeoutHelper.IsTooLarge(value))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRangeTooBig)));
}
this.idleTimeout = value;
}
}
public TimeSpan LeaseTimeout
{
get
{
return leaseTimeout;
}
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRange0)));
}
if (TimeoutHelper.IsTooLarge(value))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRangeTooBig)));
}
this.leaseTimeout = value;
}
}
public int MaxOutboundChannelsPerEndpoint
{
get
{
return this.maxOutboundChannelsPerEndpoint;
}
set
{
if (value <= 0)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.ValueMustBePositive)));
}
this.maxOutboundChannelsPerEndpoint = value;
}
}
internal ChannelPoolSettings Clone()
{
return new ChannelPoolSettings(this);
}
internal bool IsMatch(ChannelPoolSettings channelPoolSettings)
{
if (channelPoolSettings == null)
{
return false;
}
if (this.idleTimeout != channelPoolSettings.idleTimeout)
{
return false;
}
if (this.leaseTimeout != channelPoolSettings.leaseTimeout)
{
return false;
}
if (this.maxOutboundChannelsPerEndpoint != channelPoolSettings.maxOutboundChannelsPerEndpoint)
{
return false;
}
return true;
}
}
}
// 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
- GroupPartitionExpr.cs
- TemplatePartAttribute.cs
- SequentialWorkflowHeaderFooter.cs
- InputChannelAcceptor.cs
- SchemaObjectWriter.cs
- AnnotationComponentManager.cs
- ToolStripDropDown.cs
- TileBrush.cs
- RuleSetBrowserDialog.cs
- StructuralObject.cs
- NestPullup.cs
- SafeNativeMemoryHandle.cs
- loginstatus.cs
- ListViewTableCell.cs
- MessageDecoder.cs
- DataContext.cs
- XmlEnumAttribute.cs
- ActivityStateRecord.cs
- GridToolTip.cs
- ProviderManager.cs
- ObjectPropertyMapping.cs
- DataContractSerializerSection.cs
- ParallelSeparator.xaml.cs
- ComponentChangingEvent.cs
- XmlQualifiedNameTest.cs
- UserUseLicenseDictionaryLoader.cs
- WCFServiceClientProxyGenerator.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- CaseCqlBlock.cs
- xdrvalidator.cs
- ExeContext.cs
- InternalConfirm.cs
- InternalTransaction.cs
- Point4DConverter.cs
- XmlSchemaAnnotated.cs
- SQlBooleanStorage.cs
- ControllableStoryboardAction.cs
- BasicHttpMessageSecurity.cs
- XNameConverter.cs
- TextTreeTextBlock.cs
- VisualBrush.cs
- CodeTypeDeclarationCollection.cs
- Filter.cs
- XPathQilFactory.cs
- TableRowCollection.cs
- ContextMarshalException.cs
- ValueSerializerAttribute.cs
- IntegerValidator.cs
- RawStylusSystemGestureInputReport.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ForwardPositionQuery.cs
- ToolbarAUtomationPeer.cs
- PeerEndPoint.cs
- InvalidOperationException.cs
- ConnectionString.cs
- ADRole.cs
- SQLSingle.cs
- Tablet.cs
- ApplicationDirectoryMembershipCondition.cs
- SplashScreenNativeMethods.cs
- EntityProxyTypeInfo.cs
- Message.cs
- ListView.cs
- BitStream.cs
- TreeNodeStyle.cs
- ClientRolePrincipal.cs
- DBConnection.cs
- ModelPerspective.cs
- MachineKey.cs
- ViewGenResults.cs
- _SslState.cs
- RadioButtonBaseAdapter.cs
- Int64Animation.cs
- GeneratedView.cs
- BufferedResponseStream.cs
- CodeStatement.cs
- ListItem.cs
- LoopExpression.cs
- BindingSource.cs
- RangeValuePatternIdentifiers.cs
- OrderByQueryOptionExpression.cs
- MergePropertyDescriptor.cs
- FontDriver.cs
- ToolTipService.cs
- DataSourceBooleanViewSchemaConverter.cs
- SqlUtil.cs
- FileSecurity.cs
- SponsorHelper.cs
- SimpleBitVector32.cs
- NameNode.cs
- Panel.cs
- SharedRuntimeState.cs
- XPathNavigator.cs
- AssemblyBuilder.cs
- ClientTargetSection.cs
- Imaging.cs
- SignatureConfirmations.cs
- WorkflowRuntime.cs
- Soap12FormatExtensions.cs
- Configuration.cs