73 lines
2.6 KiB
C#
73 lines
2.6 KiB
C#
namespace System.ServiceModel.Activities.Configuration
|
|
{
|
|
using System.Configuration;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.ServiceModel.Configuration;
|
|
using System.ServiceModel.Activities.Description;
|
|
using System.Runtime;
|
|
|
|
[Fx.Tag.XamlVisible(false)]
|
|
public class WorkflowInstanceManagementElement : BehaviorExtensionElement
|
|
{
|
|
|
|
const string authorizedWindowsGroup = "authorizedWindowsGroup";
|
|
ConfigurationPropertyCollection properties;
|
|
|
|
public WorkflowInstanceManagementElement()
|
|
{
|
|
}
|
|
|
|
[SuppressMessage(
|
|
FxCop.Category.Configuration,
|
|
FxCop.Rule.ConfigurationPropertyAttributeRule,
|
|
Justification = "This property only overrides the base property.")]
|
|
public override Type BehaviorType
|
|
{
|
|
get { return typeof(WorkflowInstanceManagementBehavior); }
|
|
}
|
|
|
|
[ConfigurationProperty(
|
|
authorizedWindowsGroup,
|
|
IsRequired = false)]
|
|
[StringValidator(MinLength = 0)]
|
|
public string AuthorizedWindowsGroup
|
|
{
|
|
get { return (string)base[authorizedWindowsGroup]; }
|
|
set { base[authorizedWindowsGroup] = value; }
|
|
}
|
|
|
|
protected internal override object CreateBehavior()
|
|
{
|
|
string authorizedWindowsGroup;
|
|
if (!string.IsNullOrEmpty(this.AuthorizedWindowsGroup))
|
|
{
|
|
authorizedWindowsGroup = this.AuthorizedWindowsGroup;
|
|
}
|
|
else
|
|
{
|
|
authorizedWindowsGroup = WorkflowInstanceManagementBehavior.GetDefaultBuiltinAdministratorsGroup();
|
|
}
|
|
|
|
WorkflowInstanceManagementBehavior workflowInstanceManagementBehavior = new WorkflowInstanceManagementBehavior
|
|
{
|
|
WindowsGroup = authorizedWindowsGroup
|
|
};
|
|
return workflowInstanceManagementBehavior;
|
|
}
|
|
|
|
protected override ConfigurationPropertyCollection Properties
|
|
{
|
|
get
|
|
{
|
|
if (this.properties == null)
|
|
{
|
|
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
|
|
properties.Add(new ConfigurationProperty(authorizedWindowsGroup, typeof(System.String), string.Empty, null, new System.Configuration.StringValidator(0, int.MaxValue, null), System.Configuration.ConfigurationPropertyOptions.None));
|
|
this.properties = properties;
|
|
}
|
|
return this.properties;
|
|
}
|
|
}
|
|
}
|
|
}
|