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
- KeyGestureValueSerializer.cs
- WindowsButton.cs
- OleStrCAMarshaler.cs
- RegexStringValidatorAttribute.cs
- StatementContext.cs
- ProfileInfo.cs
- SingleAnimation.cs
- ComponentResourceKey.cs
- WebBrowserUriTypeConverter.cs
- MultiTrigger.cs
- ObjectPersistData.cs
- HashAlgorithm.cs
- MachineKeyConverter.cs
- NativeObjectSecurity.cs
- ContentFilePart.cs
- CachedBitmap.cs
- DnsCache.cs
- TrailingSpaceComparer.cs
- Pkcs7Recipient.cs
- FormView.cs
- FilteredAttributeCollection.cs
- BooleanProjectedSlot.cs
- SizeF.cs
- ObjectDataSourceStatusEventArgs.cs
- LifetimeServices.cs
- UnsafePeerToPeerMethods.cs
- MediaTimeline.cs
- TriggerBase.cs
- UpdatePanelTriggerCollection.cs
- Point3DConverter.cs
- EventPropertyMap.cs
- GlobalizationSection.cs
- FullTextState.cs
- AutomationTextAttribute.cs
- HasCopySemanticsAttribute.cs
- OperandQuery.cs
- TreeNodeCollection.cs
- TransactionScope.cs
- MsmqIntegrationInputMessage.cs
- ExpressionPrefixAttribute.cs
- ServiceOperationUIEditor.cs
- PersonalizationEntry.cs
- Rotation3DAnimationBase.cs
- AbstractSvcMapFileLoader.cs
- Expr.cs
- TemplateEditingVerb.cs
- XPathException.cs
- DuplexChannelBinder.cs
- PageAsyncTaskManager.cs
- BufferedGraphicsManager.cs
- ReadOnlyCollectionBase.cs
- DocumentSchemaValidator.cs
- WindowsTab.cs
- TextTreeText.cs
- PowerModeChangedEventArgs.cs
- _ListenerRequestStream.cs
- TraceEventCache.cs
- AutoResizedEvent.cs
- CompilerWrapper.cs
- RequestCacheValidator.cs
- COAUTHINFO.cs
- CharEntityEncoderFallback.cs
- DiscriminatorMap.cs
- ShutDownListener.cs
- XmlTextReaderImpl.cs
- ResXResourceSet.cs
- WrappingXamlSchemaContext.cs
- StringKeyFrameCollection.cs
- BidPrivateBase.cs
- EnumDataContract.cs
- CultureInfo.cs
- UDPClient.cs
- PolicyException.cs
- MimeReturn.cs
- SiteMapNode.cs
- DoubleLinkListEnumerator.cs
- DbConnectionStringBuilder.cs
- GZipStream.cs
- PageContentAsyncResult.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- TableRow.cs
- EmbeddedMailObject.cs
- __ConsoleStream.cs
- SystemColors.cs
- NamespaceList.cs
- X509ChainElement.cs
- ResolveCriteriaApril2005.cs
- XmlSchemaRedefine.cs
- SafeHandle.cs
- TypeReference.cs
- ServerIdentity.cs
- CustomTypeDescriptor.cs
- OleDbError.cs
- SelectionEditor.cs
- ReliableSessionBindingElementImporter.cs
- ADRoleFactory.cs
- Highlights.cs
- BaseConfigurationRecord.cs
- TextRunTypographyProperties.cs
- WmpBitmapEncoder.cs