Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / DataSourceCacheDurationConverter.cs / 2 / 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;
}
}
}
// 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
- SelectionEditingBehavior.cs
- SessionIDManager.cs
- XmlSchemaDatatype.cs
- CriticalFinalizerObject.cs
- ScriptDescriptor.cs
- StrongNameUtility.cs
- RawKeyboardInputReport.cs
- MessageHeader.cs
- ActivityStatusChangeEventArgs.cs
- DecimalAnimationBase.cs
- EncryptedPackage.cs
- HttpContextWrapper.cs
- PointLight.cs
- ToolZone.cs
- FormClosingEvent.cs
- CreationContext.cs
- FolderBrowserDialog.cs
- TextRenderingModeValidation.cs
- WindowsListViewGroupHelper.cs
- Column.cs
- TransformedBitmap.cs
- XmlBoundElement.cs
- Rules.cs
- SafeCryptoHandles.cs
- ObservableCollection.cs
- TextTabProperties.cs
- RowUpdatingEventArgs.cs
- FieldNameLookup.cs
- _LocalDataStoreMgr.cs
- AppModelKnownContentFactory.cs
- assertwrapper.cs
- RenderDataDrawingContext.cs
- HttpCookiesSection.cs
- BoolExpr.cs
- FactoryRecord.cs
- SQLInt32Storage.cs
- RelationshipType.cs
- GenericWebPart.cs
- CodeBinaryOperatorExpression.cs
- MergeFailedEvent.cs
- nulltextnavigator.cs
- BaseDataListPage.cs
- InputReport.cs
- UrlMapping.cs
- RawUIStateInputReport.cs
- Vector3DValueSerializer.cs
- MessageDirection.cs
- EdgeModeValidation.cs
- HttpApplicationFactory.cs
- ConstraintEnumerator.cs
- LexicalChunk.cs
- ConfigurationPropertyAttribute.cs
- IpcClientManager.cs
- Memoizer.cs
- RSAProtectedConfigurationProvider.cs
- InternalConfigHost.cs
- FixedTextBuilder.cs
- hresults.cs
- ButtonStandardAdapter.cs
- SystemTcpConnection.cs
- FixedTextView.cs
- PriorityItem.cs
- _LocalDataStoreMgr.cs
- precedingquery.cs
- ObjectParameterCollection.cs
- PointAnimation.cs
- AQNBuilder.cs
- WinFormsSecurity.cs
- CodeActivityMetadata.cs
- SymmetricKey.cs
- OpacityConverter.cs
- HwndProxyElementProvider.cs
- Polyline.cs
- XmlEncodedRawTextWriter.cs
- KnownTypes.cs
- FunctionMappingTranslator.cs
- Debugger.cs
- ArrangedElement.cs
- ProcessHostMapPath.cs
- RowUpdatedEventArgs.cs
- XmlDataSource.cs
- ApplicationSecurityManager.cs
- NameValueSectionHandler.cs
- Native.cs
- InvalidOleVariantTypeException.cs
- WebPartZoneBase.cs
- SqlProcedureAttribute.cs
- MyContact.cs
- TextServicesHost.cs
- NTAccount.cs
- Range.cs
- IPPacketInformation.cs
- TransportSecurityProtocol.cs
- TemplateLookupAction.cs
- ProtocolInformationWriter.cs
- SQLChars.cs
- TextCollapsingProperties.cs
- SessionParameter.cs
- ContentOperations.cs
- XmlEntity.cs