Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / Serialization / Configuration / XmlSerializerSection.cs / 1305376 / XmlSerializerSection.cs
namespace System.Xml.Serialization.Configuration { using System; using System.IO; using System.Web; using System.Configuration; using System.ComponentModel; using System.Globalization; using System.Reflection; using System.Resources; public sealed class XmlSerializerSection : ConfigurationSection { public XmlSerializerSection() { this.properties.Add(this.checkDeserializeAdvances); this.properties.Add(this.tempFilesLocation); } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } [ConfigurationProperty(ConfigurationStrings.CheckDeserializeAdvances, DefaultValue = false)] public bool CheckDeserializeAdvances { get { return (bool)this[this.checkDeserializeAdvances]; } set { this[this.checkDeserializeAdvances] = value; } } [ConfigurationProperty(ConfigurationStrings.TempFilesLocation, DefaultValue = null)] public string TempFilesLocation { get { return (string)this[this.tempFilesLocation]; } set { this[this.tempFilesLocation] = value; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); // Supply a type converter, even though it's a plain type converter, to get around ConfigurationProperty's internal // Enum conversion routine. The internal one is case-sensitive, we want this to be case-insensitive. readonly ConfigurationProperty checkDeserializeAdvances = new ConfigurationProperty(ConfigurationStrings.CheckDeserializeAdvances, typeof(bool), false, ConfigurationPropertyOptions.None); readonly ConfigurationProperty tempFilesLocation = new ConfigurationProperty(ConfigurationStrings.TempFilesLocation, typeof(string), null, null, new RootedPathValidator(), ConfigurationPropertyOptions.None); } public class RootedPathValidator : ConfigurationValidatorBase { public override bool CanValidate(Type type) { return (type == typeof(string)); } public override void Validate(object value) { string tempDirectory = value as string; if (string.IsNullOrEmpty(tempDirectory)) return; tempDirectory = tempDirectory.Trim(); if (string.IsNullOrEmpty(tempDirectory)) return; if (!Path.IsPathRooted(tempDirectory)) { // Make sure the path is not relative (VSWhidbey 260075) throw new ConfigurationErrorsException(); } char firstChar = tempDirectory[0]; if (firstChar == Path.DirectorySeparatorChar || firstChar == Path.AltDirectorySeparatorChar) { // Make sure the path is explicitly rooted throw new ConfigurationErrorsException(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GestureRecognitionResult.cs
- WebPartEventArgs.cs
- Size3DValueSerializer.cs
- InputScopeConverter.cs
- ConsoleEntryPoint.cs
- Int32Converter.cs
- Perspective.cs
- validationstate.cs
- Model3DGroup.cs
- ObjectStateEntryDbDataRecord.cs
- Translator.cs
- CodeExpressionStatement.cs
- JsonDeserializer.cs
- ConfigXmlSignificantWhitespace.cs
- UInt32.cs
- Nullable.cs
- PasswordPropertyTextAttribute.cs
- MergeFilterQuery.cs
- XmlAttributeCollection.cs
- UserPreferenceChangingEventArgs.cs
- BaseResourcesBuildProvider.cs
- CodeDelegateCreateExpression.cs
- Environment.cs
- ApplicationServiceManager.cs
- SpellerStatusTable.cs
- AffineTransform3D.cs
- MulticastOption.cs
- SHA512.cs
- ConsoleKeyInfo.cs
- ToolBarPanel.cs
- DesignTimeSiteMapProvider.cs
- WeakReference.cs
- ListViewInsertEventArgs.cs
- CornerRadius.cs
- UTF8Encoding.cs
- StandardOleMarshalObject.cs
- EnumBuilder.cs
- DataGridViewBand.cs
- DBAsyncResult.cs
- OutputCacheSection.cs
- MatrixValueSerializer.cs
- CngAlgorithm.cs
- SmtpReplyReader.cs
- WebPartConnectVerb.cs
- FreezableOperations.cs
- InternalConfigConfigurationFactory.cs
- ThemeableAttribute.cs
- DragDropHelper.cs
- HttpHandlerAction.cs
- ToolStripLabel.cs
- TransactionsSectionGroup.cs
- ParserStreamGeometryContext.cs
- CodeAttributeDeclaration.cs
- AVElementHelper.cs
- ResourceDescriptionAttribute.cs
- Permission.cs
- TextParagraph.cs
- COAUTHIDENTITY.cs
- XmlSchemaComplexContentRestriction.cs
- ResXResourceReader.cs
- ServicesExceptionNotHandledEventArgs.cs
- uribuilder.cs
- ExcCanonicalXml.cs
- CssClassPropertyAttribute.cs
- HuffCodec.cs
- SymDocumentType.cs
- ScalarType.cs
- CommentAction.cs
- LinkTarget.cs
- _WinHttpWebProxyDataBuilder.cs
- ListViewContainer.cs
- LazyTextWriterCreator.cs
- SQLInt16.cs
- BuildManagerHost.cs
- WindowsIdentity.cs
- ConvertEvent.cs
- RightsManagementPermission.cs
- TextChangedEventArgs.cs
- SystemTcpConnection.cs
- SqlTrackingService.cs
- ActiveDocumentEvent.cs
- ShaderRenderModeValidation.cs
- ObjectIDGenerator.cs
- RelatedEnd.cs
- DataBindingList.cs
- DesignerTransactionCloseEvent.cs
- ConfigurationException.cs
- InternalBufferManager.cs
- Set.cs
- MenuCommands.cs
- ContentFileHelper.cs
- NegatedConstant.cs
- UserControlBuildProvider.cs
- Html32TextWriter.cs
- AssociationSet.cs
- SqlUserDefinedAggregateAttribute.cs
- ValueTypeFixupInfo.cs
- LinkLabelLinkClickedEvent.cs
- RtfToXamlReader.cs
- UIElement3D.cs