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; }
|
||
|
}
|
||
|
}
|
||
|
}
|