Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / Serialization / Configuration / XmlSerializerSection.cs / 2 / 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
- BindingNavigator.cs
- DataGridViewIntLinkedList.cs
- ImageAttributes.cs
- EmulateRecognizeCompletedEventArgs.cs
- BaseContextMenu.cs
- FrugalMap.cs
- KnownBoxes.cs
- ConfigurationException.cs
- OleStrCAMarshaler.cs
- NameValueConfigurationElement.cs
- AutoCompleteStringCollection.cs
- CultureInfoConverter.cs
- PackWebRequestFactory.cs
- QueryMath.cs
- TypedDataSetSchemaImporterExtension.cs
- Tracer.cs
- GroupAggregateExpr.cs
- GridViewColumn.cs
- WinEventQueueItem.cs
- LinkDescriptor.cs
- System.Data.OracleClient_BID.cs
- SmiSettersStream.cs
- MatrixCamera.cs
- QilStrConcat.cs
- CalendarBlackoutDatesCollection.cs
- OdbcDataReader.cs
- CompressedStack.cs
- Command.cs
- UxThemeWrapper.cs
- SplitterCancelEvent.cs
- FontCacheUtil.cs
- DbParameterHelper.cs
- SafeSecurityHelper.cs
- MetabaseSettingsIis7.cs
- CodeAttributeArgument.cs
- RegexRunnerFactory.cs
- TextFindEngine.cs
- PageParserFilter.cs
- PrintingPermission.cs
- EnumerableCollectionView.cs
- LogPolicy.cs
- TabControl.cs
- ReferenceService.cs
- SoapObjectWriter.cs
- TableRowGroup.cs
- ListViewCancelEventArgs.cs
- XmlSigningNodeWriter.cs
- TimeManager.cs
- CapabilitiesState.cs
- Application.cs
- EventSourceCreationData.cs
- NameValueSectionHandler.cs
- StyleCollection.cs
- Point3D.cs
- ServiceXNameTypeConverter.cs
- Array.cs
- WindowsFormsLinkLabel.cs
- CharUnicodeInfo.cs
- XmlSerializerSection.cs
- HostedTransportConfigurationBase.cs
- VectorConverter.cs
- UnsafeNativeMethods.cs
- ScalarConstant.cs
- NumberSubstitution.cs
- RegexInterpreter.cs
- SynchronizedRandom.cs
- WebHttpDispatchOperationSelectorData.cs
- NativeWindow.cs
- PropertyDescriptorCollection.cs
- DocumentViewerBaseAutomationPeer.cs
- DataGridViewRowPrePaintEventArgs.cs
- RunWorkerCompletedEventArgs.cs
- SelectionRangeConverter.cs
- ObjectReaderCompiler.cs
- BitmapVisualManager.cs
- TimeoutHelper.cs
- ColorKeyFrameCollection.cs
- ResXFileRef.cs
- TdsParameterSetter.cs
- InkCanvasSelection.cs
- TimeSpan.cs
- BinaryEditor.cs
- RelationshipManager.cs
- CodeIdentifiers.cs
- CodeTypeMember.cs
- XmlElement.cs
- ParallelLoopState.cs
- GradientStopCollection.cs
- QueryStringParameter.cs
- OutOfProcStateClientManager.cs
- HostedElements.cs
- CommonDialog.cs
- KeyedHashAlgorithm.cs
- Stream.cs
- WebPartAuthorizationEventArgs.cs
- BorderSidesEditor.cs
- DirtyTextRange.cs
- DataTableReaderListener.cs
- CqlQuery.cs
- TableRowCollection.cs