Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Configuration / TimeoutValidationAttribute.cs / 1 / TimeoutValidationAttribute.cs
namespace System.Net { using System; using System.Configuration; using System.ComponentModel; // NOTE [[....]]: The old validation attribute was removed from System.ll and is // replaced by more flexible and robust validation/conversion design. // The change bellow is a simple fix to make things work with the least possible change ( it is an integration break ) // However, we already have a built-in support for configuration properties that store // Type names. We do reccomend that all uses of the validator bellow are converted to // properties of type Type ( instead of string ) which use the TypeNameConverter from System.Configuration.dll // Feel free to ask me for more details if you decide to do the conversion internal sealed class TimeoutValidator : ConfigurationValidatorBase { bool _zeroValid = false; internal TimeoutValidator(bool zeroValid) { _zeroValid = zeroValid; } public override bool CanValidate( Type type ) { return ( type == typeof( int ) || type == typeof( long ) ); } public override void Validate( object value ) { if (value == null) return; int timeout = (int)value; if (_zeroValid && timeout == 0) return; if (timeout <= 0 && timeout != System.Threading.Timeout.Infinite) { // Note [[....]] : This is a lab integration fix. Old code did not have any error message at this point // This code change accomplishes the same result. However its highly reccomended that a specific error message is givven // to the user so they know what exaclty is the problem ( i.e. the value must be a positive integer or be Infinite ) // To accomplish this - an exception with the specific error message could be thrown ( ArgumentException is prefferred ) throw new ConfigurationErrorsException(SR.GetString(SR.net_io_timeout_use_gt_zero)); } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResolvePPIDRequest.cs
- ControlType.cs
- PerformanceCounterManager.cs
- SRDisplayNameAttribute.cs
- InvalidOperationException.cs
- Debug.cs
- TransformValueSerializer.cs
- DataTable.cs
- RepeaterCommandEventArgs.cs
- XslAst.cs
- OdbcRowUpdatingEvent.cs
- ListItem.cs
- PTProvider.cs
- XamlSerializationHelper.cs
- XmlSchemaFacet.cs
- MailSettingsSection.cs
- NotifyIcon.cs
- RunInstallerAttribute.cs
- CompatibleIComparer.cs
- FixedDocument.cs
- HtmlHead.cs
- SmiConnection.cs
- FrameworkRichTextComposition.cs
- LinkedResource.cs
- LineVisual.cs
- RangeValuePattern.cs
- DataGridViewMethods.cs
- HttpResponse.cs
- UnknownBitmapDecoder.cs
- ProfileSettingsCollection.cs
- ContractMethodInfo.cs
- ComboBoxAutomationPeer.cs
- ScriptMethodAttribute.cs
- SimpleType.cs
- TextFormatter.cs
- Int32RectValueSerializer.cs
- WindowsGraphics.cs
- RegisteredExpandoAttribute.cs
- AutomationPatternInfo.cs
- TCEAdapterGenerator.cs
- ChangeToolStripParentVerb.cs
- AutoGeneratedField.cs
- WebMessageEncodingElement.cs
- Visual.cs
- SessionStateSection.cs
- MasterPage.cs
- XPathDocument.cs
- TextContainerHelper.cs
- DocumentAutomationPeer.cs
- PagerSettings.cs
- WebPermission.cs
- DiscriminatorMap.cs
- SplitterPanel.cs
- ValueChangedEventManager.cs
- MsdtcWrapper.cs
- StaticFileHandler.cs
- NameNode.cs
- Main.cs
- CdpEqualityComparer.cs
- XmlAtomicValue.cs
- ConfigurationSectionCollection.cs
- WebConfigurationHost.cs
- WebServiceFaultDesigner.cs
- SqlDataSourceQueryEditorForm.cs
- Point3DAnimationBase.cs
- InkCanvasSelectionAdorner.cs
- Timer.cs
- HttpApplicationFactory.cs
- ListBoxChrome.cs
- BaseTemplateCodeDomTreeGenerator.cs
- InstalledVoice.cs
- SyncOperationState.cs
- TimeoutTimer.cs
- serverconfig.cs
- TypedElement.cs
- sqlmetadatafactory.cs
- Util.cs
- DbConnectionHelper.cs
- _AutoWebProxyScriptHelper.cs
- PrimarySelectionGlyph.cs
- FormatSettings.cs
- SymmetricAlgorithm.cs
- Window.cs
- Color.cs
- CodeIdentifier.cs
- Graphics.cs
- GPPOINT.cs
- OleDbInfoMessageEvent.cs
- XmlRawWriter.cs
- RegexInterpreter.cs
- QueryOutputWriter.cs
- ChtmlImageAdapter.cs
- ObjectHelper.cs
- AnonymousIdentificationSection.cs
- TypeConverterHelper.cs
- WindowsFormsSectionHandler.cs
- PreviewPrintController.cs
- OleDbConnectionInternal.cs
- SchemaEntity.cs
- ChildrenQuery.cs