57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
namespace System.Web.Services.Configuration
|
||
|
{
|
||
|
using System;
|
||
|
using System.Configuration;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Diagnostics;
|
||
|
using System.Globalization;
|
||
|
using System.Security.Permissions;
|
||
|
|
||
|
public sealed class ProtocolElement : ConfigurationElement
|
||
|
{
|
||
|
// These three constructors are used by the configuration system.
|
||
|
public ProtocolElement() : base()
|
||
|
{
|
||
|
this.properties.Add(this.name);
|
||
|
}
|
||
|
|
||
|
public ProtocolElement(WebServiceProtocols protocol) : this()
|
||
|
{
|
||
|
this.Name = protocol;
|
||
|
}
|
||
|
|
||
|
[ConfigurationProperty("name", IsKey = true, DefaultValue = WebServiceProtocols.Unknown)]
|
||
|
public WebServiceProtocols Name
|
||
|
{
|
||
|
get { return (WebServiceProtocols)base[this.name]; }
|
||
|
set
|
||
|
{
|
||
|
if (!IsValidProtocolsValue(value))
|
||
|
{
|
||
|
value = WebServiceProtocols.Unknown;
|
||
|
}
|
||
|
base[this.name] = value;
|
||
|
}
|
||
|
}
|
||
|
protected override ConfigurationPropertyCollection Properties
|
||
|
{
|
||
|
get { return this.properties; }
|
||
|
}
|
||
|
|
||
|
bool IsValidProtocolsValue(WebServiceProtocols value)
|
||
|
{
|
||
|
return Enum.IsDefined(typeof(WebServiceProtocols), value);
|
||
|
}
|
||
|
|
||
|
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
|
||
|
readonly ConfigurationProperty name = new ConfigurationProperty("name", typeof(WebServiceProtocols), WebServiceProtocols.Unknown, ConfigurationPropertyOptions.IsKey);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|