e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
83 lines
3.2 KiB
C#
83 lines
3.2 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
namespace System.ServiceModel.Activation.Configuration
|
|
{
|
|
using System;
|
|
using System.Configuration;
|
|
using System.ServiceModel.Channels;
|
|
using System.ServiceModel.Configuration;
|
|
|
|
public sealed partial class NetPipeSection : ConfigurationSection
|
|
{
|
|
PropertyInformationCollection propertyInfo;
|
|
|
|
public NetPipeSection()
|
|
: base()
|
|
{
|
|
propertyInfo = this.ElementInformation.Properties;
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.AllowAccounts)]
|
|
public SecurityIdentifierElementCollection AllowAccounts
|
|
{
|
|
get { return (SecurityIdentifierElementCollection)base[ConfigurationStrings.AllowAccounts]; }
|
|
}
|
|
|
|
static internal NetPipeSection GetSection()
|
|
{
|
|
NetPipeSection retval = (NetPipeSection)ConfigurationManager.GetSection(ConfigurationStrings.NetPipeSectionPath);
|
|
if (retval == null)
|
|
{
|
|
retval = new NetPipeSection();
|
|
}
|
|
return retval;
|
|
}
|
|
|
|
protected override void InitializeDefault()
|
|
{
|
|
this.AllowAccounts.SetDefaultIdentifiers();
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.MaxPendingConnections, DefaultValue = ListenerConstants.DefaultMaxPendingConnections)]
|
|
[IntegerValidator(MinValue = 0)]
|
|
public int MaxPendingConnections
|
|
{
|
|
get { return (int)base[ConfigurationStrings.MaxPendingConnections]; }
|
|
set { base[ConfigurationStrings.MaxPendingConnections] = value; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.MaxPendingAccepts, DefaultValue = ListenerConstants.DefaultMaxPendingAccepts)]
|
|
[IntegerValidator(MinValue = 0)]
|
|
public int MaxPendingAccepts
|
|
{
|
|
get
|
|
{
|
|
int maxPendingAccepts = (int)base[ConfigurationStrings.MaxPendingAccepts];
|
|
|
|
if (maxPendingAccepts != ListenerConstants.DefaultMaxPendingAccepts)
|
|
{
|
|
// if the user changed the default, return user's value
|
|
return maxPendingAccepts;
|
|
}
|
|
else
|
|
{
|
|
// otherwise return 2 * transport default, since SMSvcHost defaults are global
|
|
return 2 * ConnectionOrientedTransportDefaults.GetMaxPendingAccepts();
|
|
}
|
|
}
|
|
set { base[ConfigurationStrings.MaxPendingAccepts] = value; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.ReceiveTimeout, DefaultValue = ListenerConstants.DefaultReceiveTimeoutString)]
|
|
[System.ComponentModel.TypeConverter(typeof(TimeSpanOrInfiniteConverter))]
|
|
[System.ServiceModel.Configuration.ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)]
|
|
public TimeSpan ReceiveTimeout
|
|
{
|
|
get { return (TimeSpan)base[ConfigurationStrings.ReceiveTimeout]; }
|
|
set { base[ConfigurationStrings.ReceiveTimeout] = value; }
|
|
}
|
|
}
|
|
}
|