Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / UserControlParser.cs / 1305376 / UserControlParser.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the ASP.NET template parser * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web.UI { using System; using System.Collections; using System.IO; using System.Security; using System.Security.Permissions; using System.Web.Compilation; using System.Globalization; using System.Web.Caching; /* * Parser for declarative controls */ internal class UserControlParser : TemplateControlParser { private bool _fSharedPartialCaching; private string _provider; internal bool FSharedPartialCaching { get { return _fSharedPartialCaching ; } } internal string Provider { get { return _provider ; } } // Get default settings from config internal override void ProcessConfigSettings() { base.ProcessConfigSettings(); ApplyBaseType(); } // Get the default baseType from PagesConfig. internal virtual void ApplyBaseType() { if (PageParser.DefaultUserControlBaseType != null) { BaseType = PageParser.DefaultUserControlBaseType; } else if (PagesConfig != null && PagesConfig.UserControlBaseTypeInternal != null) { BaseType = PagesConfig.UserControlBaseTypeInternal; } } internal override Type DefaultBaseType { get { return typeof(System.Web.UI.UserControl); } } internal const string defaultDirectiveName = "control"; internal override string DefaultDirectiveName { get { return defaultDirectiveName; } } internal override Type DefaultFileLevelBuilderType { get { return typeof(FileLevelUserControlBuilder); } } internal override RootBuilder CreateDefaultFileLevelBuilder() { return new FileLevelUserControlBuilder(); } /* * Process the contents of the <%@ OutputCache ... %> directive */ internal override void ProcessOutputCacheDirective(string directiveName, IDictionary directive) { string sqlDependency; Util.GetAndRemoveBooleanAttribute(directive, "shared", ref _fSharedPartialCaching); _provider = Util.GetAndRemoveNonEmptyAttribute(directive, "providerName"); if (_provider == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { _provider = null; } OutputCache.ThrowIfProviderNotFound(_provider); sqlDependency = Util.GetAndRemoveNonEmptyAttribute(directive, "sqldependency"); if (sqlDependency != null) { // Validate the sqldependency attribute SqlCacheDependency.ValidateOutputCacheDependencyString(sqlDependency, false); OutputCacheParameters.SqlDependency = sqlDependency; } base.ProcessOutputCacheDirective(directiveName, directive); } internal override bool FVaryByParamsRequiredOnOutputCache { get { return OutputCacheParameters.VaryByControl == null; } } internal override string UnknownOutputCacheAttributeError { get { return SR.Attr_not_supported_in_ucdirective; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the ASP.NET template parser * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web.UI { using System; using System.Collections; using System.IO; using System.Security; using System.Security.Permissions; using System.Web.Compilation; using System.Globalization; using System.Web.Caching; /* * Parser for declarative controls */ internal class UserControlParser : TemplateControlParser { private bool _fSharedPartialCaching; private string _provider; internal bool FSharedPartialCaching { get { return _fSharedPartialCaching ; } } internal string Provider { get { return _provider ; } } // Get default settings from config internal override void ProcessConfigSettings() { base.ProcessConfigSettings(); ApplyBaseType(); } // Get the default baseType from PagesConfig. internal virtual void ApplyBaseType() { if (PageParser.DefaultUserControlBaseType != null) { BaseType = PageParser.DefaultUserControlBaseType; } else if (PagesConfig != null && PagesConfig.UserControlBaseTypeInternal != null) { BaseType = PagesConfig.UserControlBaseTypeInternal; } } internal override Type DefaultBaseType { get { return typeof(System.Web.UI.UserControl); } } internal const string defaultDirectiveName = "control"; internal override string DefaultDirectiveName { get { return defaultDirectiveName; } } internal override Type DefaultFileLevelBuilderType { get { return typeof(FileLevelUserControlBuilder); } } internal override RootBuilder CreateDefaultFileLevelBuilder() { return new FileLevelUserControlBuilder(); } /* * Process the contents of the <%@ OutputCache ... %> directive */ internal override void ProcessOutputCacheDirective(string directiveName, IDictionary directive) { string sqlDependency; Util.GetAndRemoveBooleanAttribute(directive, "shared", ref _fSharedPartialCaching); _provider = Util.GetAndRemoveNonEmptyAttribute(directive, "providerName"); if (_provider == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { _provider = null; } OutputCache.ThrowIfProviderNotFound(_provider); sqlDependency = Util.GetAndRemoveNonEmptyAttribute(directive, "sqldependency"); if (sqlDependency != null) { // Validate the sqldependency attribute SqlCacheDependency.ValidateOutputCacheDependencyString(sqlDependency, false); OutputCacheParameters.SqlDependency = sqlDependency; } base.ProcessOutputCacheDirective(directiveName, directive); } internal override bool FVaryByParamsRequiredOnOutputCache { get { return OutputCacheParameters.VaryByControl == null; } } internal override string UnknownOutputCacheAttributeError { get { return SR.Attr_not_supported_in_ucdirective; } } } } // 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
- RolePrincipal.cs
- XamlSerializationHelper.cs
- ExpressionStringBuilder.cs
- CompiledXpathExpr.cs
- RegexGroup.cs
- WeakReferenceKey.cs
- RegisterResponseInfo.cs
- CodeIndexerExpression.cs
- XmlILModule.cs
- AssemblySettingAttributes.cs
- WebSysDefaultValueAttribute.cs
- ImageMap.cs
- AlgoModule.cs
- SelectionProcessor.cs
- PrimitiveOperationFormatter.cs
- StartFileNameEditor.cs
- ValidationVisibilityAttribute.cs
- SqlConnectionHelper.cs
- TcpWorkerProcess.cs
- InputBinder.cs
- HostedAspNetEnvironment.cs
- ObjectStateEntryDbDataRecord.cs
- CornerRadius.cs
- PathParser.cs
- WebServiceBindingAttribute.cs
- CompilationUtil.cs
- WorkflowMarkupSerializerMapping.cs
- InProcStateClientManager.cs
- XmlLinkedNode.cs
- WebConfigurationHost.cs
- SqlTransaction.cs
- DesignerView.xaml.cs
- AssertUtility.cs
- BindingContext.cs
- PathSegment.cs
- Documentation.cs
- DoubleConverter.cs
- BezierSegment.cs
- EventProviderTraceListener.cs
- ToolboxControl.cs
- PropertyPathConverter.cs
- ToolStripContentPanel.cs
- TextLine.cs
- SecurityTokenValidationException.cs
- Journaling.cs
- ExpandoObject.cs
- DocumentGridPage.cs
- CodeMemberProperty.cs
- AssemblyResolver.cs
- UInt32.cs
- ViewUtilities.cs
- SimpleBitVector32.cs
- ExpressionDumper.cs
- Helper.cs
- EntryPointNotFoundException.cs
- PropertyOverridesTypeEditor.cs
- TrustManagerPromptUI.cs
- DataGridRelationshipRow.cs
- AtlasWeb.Designer.cs
- DataGridLinkButton.cs
- StylusButtonCollection.cs
- UInt64Converter.cs
- AdapterUtil.cs
- XdrBuilder.cs
- CommandManager.cs
- PathSegmentCollection.cs
- Base64Stream.cs
- RbTree.cs
- ApplicationDirectoryMembershipCondition.cs
- ProfileSettingsCollection.cs
- CatalogPart.cs
- PersianCalendar.cs
- XmlQueryRuntime.cs
- TrustSection.cs
- TimelineGroup.cs
- Msec.cs
- ProvidePropertyAttribute.cs
- Membership.cs
- DataContractJsonSerializerOperationFormatter.cs
- BrowserDefinition.cs
- Tuple.cs
- LineSegment.cs
- DataGridAddNewRow.cs
- ProviderCollection.cs
- GlobalProxySelection.cs
- ByteStreamGeometryContext.cs
- RightsManagementPermission.cs
- SymLanguageType.cs
- XamlWrappingReader.cs
- CheckBox.cs
- InputManager.cs
- OuterGlowBitmapEffect.cs
- SynchronizationContext.cs
- LogicalTreeHelper.cs
- GridViewRowEventArgs.cs
- FontStretch.cs
- EmptyStringExpandableObjectConverter.cs
- ScrollChangedEventArgs.cs
- PropertyGridEditorPart.cs
- CodeDelegateInvokeExpression.cs