80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
|
//-----------------------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
namespace System.ServiceModel.Description
|
||
|
{
|
||
|
public sealed class MetadataImporterQuotas
|
||
|
{
|
||
|
const int DefaultMaxPolicyConversionContexts = 32;
|
||
|
const int DefaultMaxPolicyNodes = 4096;
|
||
|
const int DefaultMaxPolicyAssertions = 1024;
|
||
|
const int DefaultMaxYields = 1024;
|
||
|
|
||
|
int maxPolicyConversionContexts;
|
||
|
int maxPolicyNodes;
|
||
|
int maxPolicyAssertions;
|
||
|
int maxYields;
|
||
|
|
||
|
public MetadataImporterQuotas()
|
||
|
{
|
||
|
this.maxYields = DefaultMaxYields;
|
||
|
}
|
||
|
|
||
|
public static MetadataImporterQuotas Defaults
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return CreateDefaultSettings();
|
||
|
}
|
||
|
}
|
||
|
public static MetadataImporterQuotas Max
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return CreateMaxSettings();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
internal int MaxPolicyConversionContexts
|
||
|
{
|
||
|
get { return this.maxPolicyConversionContexts; }
|
||
|
set { this.maxPolicyConversionContexts = value; }
|
||
|
}
|
||
|
internal int MaxPolicyNodes
|
||
|
{
|
||
|
get { return this.maxPolicyNodes; }
|
||
|
set { this.maxPolicyNodes = value; }
|
||
|
}
|
||
|
internal int MaxPolicyAssertions
|
||
|
{
|
||
|
get { return this.maxPolicyAssertions; }
|
||
|
set { this.maxPolicyAssertions = value; }
|
||
|
}
|
||
|
|
||
|
internal int MaxYields
|
||
|
{
|
||
|
get { return this.maxYields; }
|
||
|
set { this.maxYields = value; }
|
||
|
}
|
||
|
|
||
|
static MetadataImporterQuotas CreateDefaultSettings()
|
||
|
{
|
||
|
MetadataImporterQuotas settings = new MetadataImporterQuotas();
|
||
|
settings.maxPolicyConversionContexts = DefaultMaxPolicyConversionContexts;
|
||
|
settings.maxPolicyNodes = DefaultMaxPolicyNodes;
|
||
|
settings.maxPolicyAssertions = DefaultMaxPolicyAssertions;
|
||
|
|
||
|
return settings;
|
||
|
}
|
||
|
static MetadataImporterQuotas CreateMaxSettings()
|
||
|
{
|
||
|
MetadataImporterQuotas settings = new MetadataImporterQuotas();
|
||
|
settings.maxPolicyConversionContexts = DefaultMaxPolicyConversionContexts;
|
||
|
settings.maxPolicyNodes = int.MaxValue;
|
||
|
settings.maxPolicyAssertions = int.MaxValue;
|
||
|
|
||
|
return settings;
|
||
|
}
|
||
|
}
|
||
|
}
|