75 lines
2.7 KiB
C#
75 lines
2.7 KiB
C#
//------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------
|
|
|
|
namespace System.ServiceModel.Activities.Configuration
|
|
{
|
|
using System;
|
|
using System.Runtime;
|
|
using System.Configuration;
|
|
using System.ServiceModel.Configuration;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.ServiceModel.Activities.Description;
|
|
using System.ServiceModel.Activities.Tracking.Configuration;
|
|
using SR2 = System.ServiceModel.Activities.SR;
|
|
|
|
public class EtwTrackingBehaviorElement : BehaviorExtensionElement
|
|
{
|
|
ConfigurationPropertyCollection properties;
|
|
const string profileNameParameter = "profileName";
|
|
|
|
public EtwTrackingBehaviorElement()
|
|
{
|
|
}
|
|
|
|
[SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyAttributeRule,
|
|
Justification = "This property is defined by the base class to determine the type of the behavior.")]
|
|
public override Type BehaviorType
|
|
{
|
|
get { return typeof(EtwTrackingBehavior); }
|
|
}
|
|
|
|
[ConfigurationProperty(profileNameParameter, DefaultValue = "", Options = ConfigurationPropertyOptions.IsKey)]
|
|
[StringValidator(MinLength = 0)]
|
|
[SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule,
|
|
MessageId = "System.ServiceModel.Activities.Configuration.EtwTrackingBehaviorElement.ProfileName",
|
|
Justification = "StringValidator validates minimal size")]
|
|
public string ProfileName
|
|
{
|
|
get
|
|
{
|
|
return (string)base[profileNameParameter];
|
|
}
|
|
|
|
set
|
|
{
|
|
base[profileNameParameter] = value;
|
|
}
|
|
}
|
|
|
|
protected override ConfigurationPropertyCollection Properties
|
|
{
|
|
get
|
|
{
|
|
if (this.properties == null)
|
|
{
|
|
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
|
|
properties.Add(new ConfigurationProperty(profileNameParameter, typeof(System.String), string.Empty, null, new System.Configuration.StringValidator(0, 2147483647, null), System.Configuration.ConfigurationPropertyOptions.IsKey));
|
|
this.properties = properties;
|
|
}
|
|
return this.properties;
|
|
}
|
|
}
|
|
|
|
protected internal override object CreateBehavior()
|
|
{
|
|
EtwTrackingBehavior trackingBehavior = new EtwTrackingBehavior
|
|
{
|
|
ProfileName = this.ProfileName
|
|
};
|
|
|
|
return trackingBehavior;
|
|
}
|
|
}
|
|
}
|