Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StringAttributeCollection.cs
- LinkConverter.cs
- StaticTextPointer.cs
- SchemaSetCompiler.cs
- MouseEvent.cs
- PointAnimationUsingKeyFrames.cs
- DataConnectionHelper.cs
- DelegateSerializationHolder.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- HtmlInputPassword.cs
- _LocalDataStore.cs
- ExitEventArgs.cs
- TabItem.cs
- RuntimeEnvironment.cs
- MetabaseSettingsIis7.cs
- GridLength.cs
- TimeStampChecker.cs
- XmlToDatasetMap.cs
- TreeNodeBindingCollection.cs
- DbConnectionFactory.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- HttpHeaderCollection.cs
- ListViewGroupConverter.cs
- EndEvent.cs
- GeometryGroup.cs
- DataGridCommandEventArgs.cs
- dataprotectionpermission.cs
- AttachedPropertyDescriptor.cs
- BamlTreeUpdater.cs
- LiteralLink.cs
- VirtualDirectoryMappingCollection.cs
- DataObjectCopyingEventArgs.cs
- ObjectDisposedException.cs
- ResourceReader.cs
- TargetInvocationException.cs
- WebCategoryAttribute.cs
- DataGridLinkButton.cs
- WebPartMovingEventArgs.cs
- TraceFilter.cs
- ListMarkerLine.cs
- XmlSchemaExternal.cs
- XsltFunctions.cs
- LineGeometry.cs
- MissingMethodException.cs
- Utils.cs
- ConcurrentDictionary.cs
- BitmapEffectDrawingContextState.cs
- Panel.cs
- RuleProcessor.cs
- TimersDescriptionAttribute.cs
- KeyedCollection.cs
- MetadataCollection.cs
- TranslateTransform3D.cs
- SiteMapHierarchicalDataSourceView.cs
- CrossSiteScriptingValidation.cs
- DuplicateMessageDetector.cs
- APCustomTypeDescriptor.cs
- Point3DAnimationUsingKeyFrames.cs
- XamlPathDataSerializer.cs
- QilChoice.cs
- IPAddressCollection.cs
- SqlXml.cs
- InvalidEnumArgumentException.cs
- KnownTypesHelper.cs
- Timer.cs
- GlyphCache.cs
- _KerberosClient.cs
- ModuleConfigurationInfo.cs
- OpCellTreeNode.cs
- HttpProcessUtility.cs
- NotCondition.cs
- TextPenaltyModule.cs
- JavaScriptObjectDeserializer.cs
- FixedTextBuilder.cs
- VersionPair.cs
- WebHttpSecurityModeHelper.cs
- ProxyGenerator.cs
- EditorResources.cs
- altserialization.cs
- COM2Enum.cs
- MultipleViewProviderWrapper.cs
- ManifestResourceInfo.cs
- CriticalHandle.cs
- IgnoreSectionHandler.cs
- PathGeometry.cs
- XPathNavigatorKeyComparer.cs
- ReaderWriterLockWrapper.cs
- PopupRoot.cs
- DirectoryGroupQuery.cs
- LocalBuilder.cs
- EdmComplexPropertyAttribute.cs
- ObjectDataSourceSelectingEventArgs.cs
- Point3DCollection.cs
- DataGridViewImageColumn.cs
- BrowserCapabilitiesFactory35.cs
- SecurityTokenContainer.cs
- CorrelationScope.cs
- XmlReflectionMember.cs
- ViewService.cs
- DynamicUpdateCommand.cs