Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Compilation / PageThemeBuildProvider.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExpressionBindings.cs
- Debugger.cs
- PropertiesTab.cs
- InkCanvasAutomationPeer.cs
- SourceItem.cs
- OleDragDropHandler.cs
- WorkflowInstanceExtensionManager.cs
- ManagementQuery.cs
- NameHandler.cs
- CmsUtils.cs
- ExpressionValueEditor.cs
- BeginCreateSecurityTokenRequest.cs
- CacheVirtualItemsEvent.cs
- HttpCachePolicyElement.cs
- DesignerTransactionCloseEvent.cs
- HTMLTagNameToTypeMapper.cs
- DatagridviewDisplayedBandsData.cs
- Error.cs
- PolicyStatement.cs
- AutoResetEvent.cs
- ProcessHostMapPath.cs
- EllipseGeometry.cs
- StoryFragments.cs
- NumberFormatInfo.cs
- System.Data_BID.cs
- DataGridLinkButton.cs
- TextServicesHost.cs
- DateTimeFormat.cs
- TcpChannelHelper.cs
- Thickness.cs
- XmlSchemaSimpleType.cs
- MethodBody.cs
- OneWayBindingElement.cs
- SimpleHandlerFactory.cs
- Utility.cs
- xmlsaver.cs
- DataPagerField.cs
- HWStack.cs
- ColumnResizeUndoUnit.cs
- ClrPerspective.cs
- ComplexTypeEmitter.cs
- QueueTransferProtocol.cs
- DotExpr.cs
- WindowInteractionStateTracker.cs
- ParallelTimeline.cs
- QueryLifecycle.cs
- EdmFunctionAttribute.cs
- CellConstant.cs
- MailAddress.cs
- ExternalException.cs
- FaultCode.cs
- XPathAncestorQuery.cs
- SelectionRangeConverter.cs
- TableHeaderCell.cs
- LogicalExpr.cs
- SafeNativeMethods.cs
- IPPacketInformation.cs
- TextDecorationCollectionConverter.cs
- LinkedResource.cs
- Model3DGroup.cs
- ServiceHttpHandlerFactory.cs
- Certificate.cs
- ColumnMapProcessor.cs
- ContainsRowNumberChecker.cs
- ListViewItemSelectionChangedEvent.cs
- XmlSchemaSimpleContent.cs
- DataBinding.cs
- WindowsFormsSectionHandler.cs
- RuntimeComponentFilter.cs
- ListBox.cs
- DataServiceQueryProvider.cs
- MenuItemBinding.cs
- ProcessHost.cs
- ArrayConverter.cs
- TabPage.cs
- ChangeToolStripParentVerb.cs
- RegisteredExpandoAttribute.cs
- CheckBoxList.cs
- StringBuilder.cs
- ResourceAttributes.cs
- ManagedFilter.cs
- CssClassPropertyAttribute.cs
- PageStatePersister.cs
- DataGridSortingEventArgs.cs
- BooleanAnimationUsingKeyFrames.cs
- DesigntimeLicenseContext.cs
- SmtpCommands.cs
- AccessedThroughPropertyAttribute.cs
- TextFindEngine.cs
- PageThemeCodeDomTreeGenerator.cs
- RegexGroupCollection.cs
- AttributeEmitter.cs
- SecurityBindingElementImporter.cs
- TrackBar.cs
- XomlCompiler.cs
- HtmlHead.cs
- HttpStaticObjectsCollectionWrapper.cs
- ToolStripManager.cs
- ToolStripDropDownClosedEventArgs.cs
- DependencyPropertyConverter.cs