Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Xaml.Hosting / System / Xaml / Hosting / Configuration / HandlerElement.cs / 1458001 / HandlerElement.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Xaml.Hosting.Configuration
{
using System;
using System.Web;
using System.Configuration;
using System.Diagnostics.CodeAnalysis;
using System.Runtime;
public sealed class HandlerElement : ConfigurationElement
{
static ConfigurationPropertyCollection properties = InitializeProperties();
Type httpHandlerCLRType;
Type xamlRootElementClrType;
static ConfigurationPropertyCollection InitializeProperties()
{
ConfigurationProperty handler = new ConfigurationProperty(XamlHostingConfiguration.HttpHandlerType, typeof(string), " ", null, new StringValidator(1), ConfigurationPropertyOptions.IsRequired);
ConfigurationProperty xamlRoot = new ConfigurationProperty(XamlHostingConfiguration.XamlRootElementType, typeof(string), " ", null, new StringValidator(1), ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired);
ConfigurationPropertyCollection tempProperties = new ConfigurationPropertyCollection();
tempProperties.Add(xamlRoot);
tempProperties.Add(handler);
return tempProperties;
}
public HandlerElement()
{
}
[SuppressMessage(FxCop.Category.Usage, FxCop.Rule.DoNotCallOverridableMethodsInConstructors,
Justification = "This is enforced by configuration classes in framework library")]
public HandlerElement(string xamlType, string handlerType)
{
XamlRootElementType = xamlType;
HttpHandlerType = handlerType;
}
[ConfigurationProperty(XamlHostingConfiguration.HttpHandlerType, DefaultValue = " ",
Options = ConfigurationPropertyOptions.IsRequired)]
[StringValidator(MinLength = 1)]
public string HttpHandlerType
{
get
{
return (string)base[XamlHostingConfiguration.HttpHandlerType];
}
set
{
if (string.IsNullOrEmpty(value))
{
value = string.Empty;
}
base[XamlHostingConfiguration.HttpHandlerType] = value;
}
}
[ConfigurationProperty(XamlHostingConfiguration.XamlRootElementType, DefaultValue = " ",
Options = ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired)]
[StringValidator(MinLength = 1)]
public string XamlRootElementType
{
get
{
return (string)base[XamlHostingConfiguration.XamlRootElementType];
}
set
{
if (string.IsNullOrEmpty(value))
{
value = string.Empty;
}
base[XamlHostingConfiguration.XamlRootElementType] = value;
}
}
internal string Key
{
get
{
return XamlRootElementType;
}
}
protected override ConfigurationPropertyCollection Properties
{
get
{
return properties;
}
}
internal Type LoadHttpHandlerType()
{
if (this.httpHandlerCLRType == null)
{
this.httpHandlerCLRType = Type.GetType(HttpHandlerType, true);
}
return this.httpHandlerCLRType;
}
internal Type LoadXamlRootElementType()
{
if (this.xamlRootElementClrType == null)
{
this.xamlRootElementClrType = Type.GetType(XamlRootElementType, true);
}
return this.xamlRootElementClrType;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeMemberField.cs
- TraceHandler.cs
- BufferedGraphicsManager.cs
- ContextBase.cs
- TriggerCollection.cs
- ProxyWebPart.cs
- Globals.cs
- RecognizerBase.cs
- ItemsPanelTemplate.cs
- MultiAsyncResult.cs
- SiteMapProvider.cs
- FunctionImportElement.cs
- SslStreamSecurityUpgradeProvider.cs
- TextDecorationCollectionConverter.cs
- CommandEventArgs.cs
- IdentityManager.cs
- BamlReader.cs
- InputBindingCollection.cs
- GridItemProviderWrapper.cs
- DataSourceControlBuilder.cs
- Effect.cs
- Addressing.cs
- SelectionEditingBehavior.cs
- ParseElementCollection.cs
- WasHttpModulesInstallComponent.cs
- MessageBuffer.cs
- TableStyle.cs
- SeparatorAutomationPeer.cs
- Empty.cs
- PointCollection.cs
- DBCommandBuilder.cs
- Misc.cs
- PixelFormatConverter.cs
- DesignerView.Commands.cs
- SafeSystemMetrics.cs
- RankException.cs
- DataObjectAttribute.cs
- ForEachAction.cs
- FormsAuthenticationModule.cs
- ParagraphResult.cs
- DynamicDiscoveryDocument.cs
- HttpSocketManager.cs
- DiscoveryEndpointValidator.cs
- TemplateControlCodeDomTreeGenerator.cs
- SelectionItemPattern.cs
- PoisonMessageException.cs
- SingleAnimationBase.cs
- WebPartUtil.cs
- StoreItemCollection.Loader.cs
- FormatSettings.cs
- HelpPage.cs
- ColumnMapCopier.cs
- WsatProxy.cs
- UIElement.cs
- keycontainerpermission.cs
- NonSerializedAttribute.cs
- FormsAuthenticationConfiguration.cs
- XmlTypeMapping.cs
- XmlMessageFormatter.cs
- FlowDocumentView.cs
- ZipIOBlockManager.cs
- SelectedDatesCollection.cs
- X509UI.cs
- SchemaNamespaceManager.cs
- TrackingQuery.cs
- ControlPropertyNameConverter.cs
- ArrangedElement.cs
- Compiler.cs
- ElementAction.cs
- CompatibleComparer.cs
- LineMetrics.cs
- InternalCache.cs
- AmbientLight.cs
- ListDesigner.cs
- SystemInfo.cs
- Item.cs
- DataGridTextBox.cs
- HashCodeCombiner.cs
- BamlLocalizationDictionary.cs
- InfoCardXmlSerializer.cs
- RootBrowserWindowProxy.cs
- TextDecorationCollectionConverter.cs
- ReadOnlyDictionary.cs
- CompressionTransform.cs
- ObjectDataSourceSelectingEventArgs.cs
- WebBrowserDocumentCompletedEventHandler.cs
- DataGridViewButtonCell.cs
- MediaElement.cs
- EventPrivateKey.cs
- Column.cs
- HttpCookiesSection.cs
- DbConnectionInternal.cs
- PerformanceCounterScope.cs
- SafeCryptContextHandle.cs
- SizeLimitedCache.cs
- ResourceCodeDomSerializer.cs
- ExceptionUtil.cs
- ContentElement.cs
- IDReferencePropertyAttribute.cs
- XsdDataContractExporter.cs