Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / DataSourceCacheDurationConverter.cs / 1 / DataSourceCacheDurationConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Reflection;
using System.Security.Permissions;
using System.Web.Util;
///
/// Converts a cache duration such as an integer or the text "Infinite" to a cache duration, where "Infinite" implies zero (0).
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class DataSourceCacheDurationConverter : Int32Converter {
private StandardValuesCollection _values;
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
else {
return base.CanConvertFrom(context, sourceType);
}
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value == null)
return null;
string stringValue = value as string;
if (stringValue != null) {
string textValue = stringValue.Trim();
if (textValue.Length == 0) {
return 0;
}
if (String.Equals(textValue, "infinite", StringComparison.OrdinalIgnoreCase)) {
return 0;
}
}
return base.ConvertFrom(context, culture, value);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
if (destinationType == typeof(string)) {
return true;
}
else {
return base.CanConvertTo(context, destinationType);
}
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
if ((value != null) && (destinationType == typeof(string)) && ((int)value == 0)) {
return "Infinite";
}
else {
return base.ConvertTo(context, culture, value, destinationType);
}
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) {
if (_values == null) {
object[] values = new object[] { 0 };
_values = new StandardValuesCollection(values);
}
return _values;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) {
return false;
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext context) {
return true;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlNamespaceManager.cs
- XPathBuilder.cs
- SimpleBitVector32.cs
- DATA_BLOB.cs
- assemblycache.cs
- ReversePositionQuery.cs
- ReachSerializableProperties.cs
- Line.cs
- ProxySimple.cs
- RectangleGeometry.cs
- ButtonBaseDesigner.cs
- DbConnectionPool.cs
- DesignerSerializationOptionsAttribute.cs
- Separator.cs
- mediaeventargs.cs
- ConsoleKeyInfo.cs
- Cursor.cs
- ListSortDescriptionCollection.cs
- SqlDataRecord.cs
- WindowsSlider.cs
- NTAccount.cs
- SchemaImporterExtensionsSection.cs
- TemplatedMailWebEventProvider.cs
- HttpResponseBase.cs
- SymDocumentType.cs
- UniqueID.cs
- KeyboardEventArgs.cs
- NativeCppClassAttribute.cs
- MarkupProperty.cs
- CodeCatchClause.cs
- CalendarDay.cs
- RawUIStateInputReport.cs
- CustomErrorsSection.cs
- RoleServiceManager.cs
- ApplicationProxyInternal.cs
- MarkerProperties.cs
- UrlMapping.cs
- ActivityUtilities.cs
- IdleTimeoutMonitor.cs
- OrderedHashRepartitionEnumerator.cs
- DBConnection.cs
- OleDbCommandBuilder.cs
- Permission.cs
- XmlEntity.cs
- PrintPreviewGraphics.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SqlTypeConverter.cs
- AnnotationResourceCollection.cs
- SortAction.cs
- SubMenuStyleCollection.cs
- DependencyPropertyHelper.cs
- SinglePageViewer.cs
- CharStorage.cs
- RoleBoolean.cs
- HotSpot.cs
- Listbox.cs
- ToolboxDataAttribute.cs
- ExpressionDumper.cs
- ContainerAction.cs
- XPathExpr.cs
- Tracking.cs
- AuthorizationSection.cs
- VisualBasicExpressionConverter.cs
- XmlTextEncoder.cs
- ErrorHandler.cs
- Metadata.cs
- ExtractorMetadata.cs
- ItemMap.cs
- ConstNode.cs
- TraceContext.cs
- DesignerTransactionCloseEvent.cs
- MissingFieldException.cs
- SqlFormatter.cs
- ImageField.cs
- WpfMemberInvoker.cs
- CompositeActivityTypeDescriptorProvider.cs
- XmlAttributes.cs
- XmlSchemas.cs
- CacheRequest.cs
- ReaderOutput.cs
- Literal.cs
- OrderablePartitioner.cs
- ProxyOperationRuntime.cs
- InstanceDataCollection.cs
- HttpPostedFile.cs
- StatusBarPanel.cs
- Package.cs
- WorkflowExecutor.cs
- ObjectDataSourceMethodEventArgs.cs
- ExpressionBuilder.cs
- Int32KeyFrameCollection.cs
- PreservationFileReader.cs
- MouseWheelEventArgs.cs
- TakeOrSkipWhileQueryOperator.cs
- SecuritySessionClientSettings.cs
- UncommonField.cs
- Simplifier.cs
- DataListCommandEventArgs.cs
- GroupDescription.cs
- ScriptControlManager.cs