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
- HebrewNumber.cs
- CodePageUtils.cs
- OrderedHashRepartitionEnumerator.cs
- CacheMode.cs
- SqlCaseSimplifier.cs
- ObjectDataSourceMethodEventArgs.cs
- sqlpipe.cs
- NamespaceExpr.cs
- Path.cs
- TextEncodedRawTextWriter.cs
- DataControlFieldCollection.cs
- ResourceReferenceExpressionConverter.cs
- MD5CryptoServiceProvider.cs
- MarkupWriter.cs
- AnnotationMap.cs
- TraceXPathNavigator.cs
- _HeaderInfoTable.cs
- HttpResponse.cs
- ObjectQueryProvider.cs
- FixedTextPointer.cs
- SuspendDesigner.cs
- DataGridSortCommandEventArgs.cs
- HttpWebResponse.cs
- MethodBuilder.cs
- ServiceOperation.cs
- SetStoryboardSpeedRatio.cs
- DbConnectionStringBuilder.cs
- EnvironmentPermission.cs
- TextBoxAutoCompleteSourceConverter.cs
- ExtendedPropertyDescriptor.cs
- ServiceOperationParameter.cs
- DeclarationUpdate.cs
- InputLanguage.cs
- HandoffBehavior.cs
- BuildProvider.cs
- DateTimeAutomationPeer.cs
- SafeViewOfFileHandle.cs
- HiddenFieldPageStatePersister.cs
- MenuItem.cs
- DateTimeOffsetAdapter.cs
- ConnectionInterfaceCollection.cs
- RelatedEnd.cs
- SqlConnectionStringBuilder.cs
- CompilationUnit.cs
- ContentFilePart.cs
- Debugger.cs
- LockRecursionException.cs
- DependencyProperty.cs
- XmlILConstructAnalyzer.cs
- GridViewColumn.cs
- HtmlTable.cs
- Comparer.cs
- SID.cs
- SqlConnectionPoolGroupProviderInfo.cs
- NameValueSectionHandler.cs
- HostedTransportConfigurationManager.cs
- TranslateTransform3D.cs
- OutputCacheProviderCollection.cs
- DeviceSpecificDialogCachedState.cs
- ObjectSpanRewriter.cs
- FlagPanel.cs
- BufferedStream.cs
- DbConnectionHelper.cs
- cookiecollection.cs
- ItemsControl.cs
- StandardOleMarshalObject.cs
- PropertyGridCommands.cs
- DeclarativeCatalogPart.cs
- ReadOnlyDataSource.cs
- ServiceDescriptions.cs
- ArcSegment.cs
- RadioButton.cs
- DataTableClearEvent.cs
- TreeNodeBindingCollection.cs
- PropertyFilter.cs
- InputLangChangeEvent.cs
- DesignerMetadata.cs
- LineInfo.cs
- XmlHierarchyData.cs
- ReachUIElementCollectionSerializer.cs
- BaseProcessor.cs
- MetadataItemSerializer.cs
- WpfKnownTypeInvoker.cs
- LoaderAllocator.cs
- ContentPlaceHolder.cs
- StringUtil.cs
- FieldNameLookup.cs
- WebConfigurationManager.cs
- AsyncResult.cs
- SoapEnumAttribute.cs
- UserPersonalizationStateInfo.cs
- AsymmetricSignatureDeformatter.cs
- DesigntimeLicenseContext.cs
- SevenBitStream.cs
- CompilationUtil.cs
- EditorBrowsableAttribute.cs
- NumberFunctions.cs
- PrintDialog.cs
- SafeSecurityHandles.cs
- DecimalAnimationBase.cs