Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Compilation / PageThemeBuildProvider.cs / 1 / PageThemeBuildProvider.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Compilation { using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Specialized; using System.IO; using System.Web.Hosting; using System.Web.UI; using System.Web.Util; internal class PageThemeBuildProvider: BaseTemplateBuildProvider { private VirtualPath _virtualDirPath; private IList _skinFileList; private ArrayList _cssFileList; internal PageThemeBuildProvider(VirtualPath virtualDirPath) { _virtualDirPath = virtualDirPath; // SetVirtualPath(virtualDirPath); } internal virtual String AssemblyNamePrefix { get { return BuildManager.AppThemeAssemblyNamePrefix; } } internal void AddSkinFile(VirtualPath virtualPath) { if (_skinFileList == null) _skinFileList = new StringCollection(); _skinFileList.Add(virtualPath.VirtualPathString); } internal void AddCssFile(VirtualPath virtualPath) { if (_cssFileList == null) _cssFileList = new ArrayList(); _cssFileList.Add(virtualPath.AppRelativeVirtualPathString); } protected override TemplateParser CreateParser() { if (_cssFileList != null) { _cssFileList.Sort(); } return new PageThemeParser(_virtualDirPath, _skinFileList, _cssFileList); } internal override BaseCodeDomTreeGenerator CreateCodeDomTreeGenerator(TemplateParser parser) { return new PageThemeCodeDomTreeGenerator((PageThemeParser)parser); } } internal class GlobalPageThemeBuildProvider : PageThemeBuildProvider { private VirtualPath _virtualDirPath; internal GlobalPageThemeBuildProvider(VirtualPath virtualDirPath) : base (virtualDirPath) { _virtualDirPath = virtualDirPath; } internal override String AssemblyNamePrefix { get { return BuildManager.GlobalThemeAssemblyNamePrefix; } } public override ICollection VirtualPathDependencies { get { ICollection parentDependencies = base.VirtualPathDependencies; string themeName = _virtualDirPath.FileName; // Here we add the app theme dir to the dependency list so that global theme will be invalidated // from cache when app theme is added. CaseInsensitiveStringSet sourceDependencies = new CaseInsensitiveStringSet(); sourceDependencies.AddCollection(parentDependencies); string appThemesVdir = UrlPath.SimpleCombine(HttpRuntime.AppDomainAppVirtualPathString, HttpRuntime.ThemesDirectoryName); string appThemeVdir = appThemesVdir + '/' + themeName; if (HostingEnvironment.VirtualPathProvider.DirectoryExists(appThemeVdir)) { sourceDependencies.Add(appThemeVdir); } else { sourceDependencies.Add(appThemesVdir); } return sourceDependencies; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Compilation { using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Specialized; using System.IO; using System.Web.Hosting; using System.Web.UI; using System.Web.Util; internal class PageThemeBuildProvider: BaseTemplateBuildProvider { private VirtualPath _virtualDirPath; private IList _skinFileList; private ArrayList _cssFileList; internal PageThemeBuildProvider(VirtualPath virtualDirPath) { _virtualDirPath = virtualDirPath; // SetVirtualPath(virtualDirPath); } internal virtual String AssemblyNamePrefix { get { return BuildManager.AppThemeAssemblyNamePrefix; } } internal void AddSkinFile(VirtualPath virtualPath) { if (_skinFileList == null) _skinFileList = new StringCollection(); _skinFileList.Add(virtualPath.VirtualPathString); } internal void AddCssFile(VirtualPath virtualPath) { if (_cssFileList == null) _cssFileList = new ArrayList(); _cssFileList.Add(virtualPath.AppRelativeVirtualPathString); } protected override TemplateParser CreateParser() { if (_cssFileList != null) { _cssFileList.Sort(); } return new PageThemeParser(_virtualDirPath, _skinFileList, _cssFileList); } internal override BaseCodeDomTreeGenerator CreateCodeDomTreeGenerator(TemplateParser parser) { return new PageThemeCodeDomTreeGenerator((PageThemeParser)parser); } } internal class GlobalPageThemeBuildProvider : PageThemeBuildProvider { private VirtualPath _virtualDirPath; internal GlobalPageThemeBuildProvider(VirtualPath virtualDirPath) : base (virtualDirPath) { _virtualDirPath = virtualDirPath; } internal override String AssemblyNamePrefix { get { return BuildManager.GlobalThemeAssemblyNamePrefix; } } public override ICollection VirtualPathDependencies { get { ICollection parentDependencies = base.VirtualPathDependencies; string themeName = _virtualDirPath.FileName; // Here we add the app theme dir to the dependency list so that global theme will be invalidated // from cache when app theme is added. CaseInsensitiveStringSet sourceDependencies = new CaseInsensitiveStringSet(); sourceDependencies.AddCollection(parentDependencies); string appThemesVdir = UrlPath.SimpleCombine(HttpRuntime.AppDomainAppVirtualPathString, HttpRuntime.ThemesDirectoryName); string appThemeVdir = appThemesVdir + '/' + themeName; if (HostingEnvironment.VirtualPathProvider.DirectoryExists(appThemeVdir)) { sourceDependencies.Add(appThemeVdir); } else { sourceDependencies.Add(appThemesVdir); } return sourceDependencies; } } } } // 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
- ValidationSummary.cs
- PackageRelationshipCollection.cs
- ForeignConstraint.cs
- SQlBooleanStorage.cs
- EntityTypeEmitter.cs
- CodeStatementCollection.cs
- TagMapInfo.cs
- As.cs
- RowUpdatingEventArgs.cs
- ReverseQueryOperator.cs
- RoleServiceManager.cs
- DataControlFieldHeaderCell.cs
- CheckBoxFlatAdapter.cs
- EntitySqlQueryCacheKey.cs
- InvokeProviderWrapper.cs
- Wizard.cs
- InfoCardAsymmetricCrypto.cs
- BitmapPalettes.cs
- Transform3D.cs
- SspiSafeHandles.cs
- SourceElementsCollection.cs
- SqlParameterCollection.cs
- SQLUtility.cs
- TableProvider.cs
- Int32.cs
- SqlDataSourceFilteringEventArgs.cs
- ListenerTraceUtility.cs
- TdsParserSafeHandles.cs
- TransformedBitmap.cs
- SafeReversePInvokeHandle.cs
- tooltip.cs
- MergeFilterQuery.cs
- ChildDocumentBlock.cs
- _SafeNetHandles.cs
- CodeTryCatchFinallyStatement.cs
- WebPartTransformerAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- Native.cs
- EventTask.cs
- ConditionValidator.cs
- Pipe.cs
- VisualProxy.cs
- _DisconnectOverlappedAsyncResult.cs
- DependencyStoreSurrogate.cs
- LayoutSettings.cs
- GrammarBuilderPhrase.cs
- LinqDataSourceInsertEventArgs.cs
- Selection.cs
- Invariant.cs
- Model3D.cs
- XPathNavigator.cs
- Registry.cs
- ValidationException.cs
- ExceptQueryOperator.cs
- Drawing.cs
- TableAdapterManagerMethodGenerator.cs
- WebServiceHost.cs
- SourceFilter.cs
- BinaryFormatterWriter.cs
- WebSysDescriptionAttribute.cs
- MarginCollapsingState.cs
- EdmConstants.cs
- ComboBoxAutomationPeer.cs
- XPathDocumentBuilder.cs
- HttpListenerRequest.cs
- DoubleLinkList.cs
- TranslateTransform.cs
- BamlBinaryReader.cs
- GeometryCollection.cs
- LocatorManager.cs
- Point3DCollection.cs
- ArgumentNullException.cs
- DbProviderFactories.cs
- FixedSOMGroup.cs
- OracleCommandSet.cs
- LoadedOrUnloadedOperation.cs
- PageCodeDomTreeGenerator.cs
- ToolStripItemClickedEventArgs.cs
- ContentPosition.cs
- ReferencedAssembly.cs
- Base64Decoder.cs
- ContainerFilterService.cs
- AssociationTypeEmitter.cs
- DataBindEngine.cs
- MenuTracker.cs
- ProfileProvider.cs
- XhtmlBasicCommandAdapter.cs
- GenericNameHandler.cs
- ArraySortHelper.cs
- HtmlCalendarAdapter.cs
- UpDownBaseDesigner.cs
- TypeAccessException.cs
- ViewCellSlot.cs
- ComplexBindingPropertiesAttribute.cs
- InvalidCommandTreeException.cs
- AuthorizationSection.cs
- AccessDataSource.cs
- WaitHandleCannotBeOpenedException.cs
- DataSvcMapFileSerializer.cs
- ImpersonateTokenRef.cs