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
- SerializationIncompleteException.cs
- EndpointPerformanceCounters.cs
- ProfileGroupSettingsCollection.cs
- ConsoleKeyInfo.cs
- BackEase.cs
- LambdaExpression.cs
- ColorConverter.cs
- ColorAnimationUsingKeyFrames.cs
- DefinitionBase.cs
- TreeNodeBindingDepthConverter.cs
- EventItfInfo.cs
- PlatformNotSupportedException.cs
- UnsafeNativeMethods.cs
- PointHitTestParameters.cs
- PrimitiveRenderer.cs
- x509utils.cs
- HTMLTagNameToTypeMapper.cs
- HandleCollector.cs
- Quad.cs
- XpsS0ValidatingLoader.cs
- FontCollection.cs
- EditorBrowsableAttribute.cs
- MappingItemCollection.cs
- SoapAttributeOverrides.cs
- ListViewHitTestInfo.cs
- IDQuery.cs
- xml.cs
- DataGridViewButtonCell.cs
- CryptoConfig.cs
- StringKeyFrameCollection.cs
- DataListItemEventArgs.cs
- SqlMultiplexer.cs
- GridItemProviderWrapper.cs
- SvcMapFileSerializer.cs
- DBCommandBuilder.cs
- WindowsPrincipal.cs
- Animatable.cs
- DataSourceIDConverter.cs
- LessThanOrEqual.cs
- PageTheme.cs
- ScriptHandlerFactory.cs
- WebConfigurationHost.cs
- DataGridSortCommandEventArgs.cs
- SoapSchemaImporter.cs
- OutputCacheProfile.cs
- CodeIdentifier.cs
- Compiler.cs
- MetadataPropertyCollection.cs
- DataGridPageChangedEventArgs.cs
- WebPartZoneCollection.cs
- DefaultParameterValueAttribute.cs
- Vector3DKeyFrameCollection.cs
- CompilationLock.cs
- LineSegment.cs
- VerticalAlignConverter.cs
- CmsUtils.cs
- ListViewDeleteEventArgs.cs
- EventSetter.cs
- WebResponse.cs
- Ref.cs
- ObjectStateEntry.cs
- XmlILConstructAnalyzer.cs
- ADRoleFactoryConfiguration.cs
- PeerName.cs
- PropertyGroupDescription.cs
- sqlpipe.cs
- Int64Converter.cs
- PreviewPrintController.cs
- RIPEMD160Managed.cs
- StreamResourceInfo.cs
- XamlWriter.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- UnsafeNativeMethodsCLR.cs
- ObjectHandle.cs
- Walker.cs
- MetaChildrenColumn.cs
- EventEntry.cs
- ChannelDispatcher.cs
- XmlValidatingReader.cs
- XmlQueryContext.cs
- CaseExpr.cs
- Configuration.cs
- SmtpClient.cs
- DesignerWebPartChrome.cs
- GeometryHitTestResult.cs
- IdentityReference.cs
- OracleTransaction.cs
- TagMapCollection.cs
- PeerNameRegistration.cs
- Matrix3DValueSerializer.cs
- DataGridViewHitTestInfo.cs
- XmlEncodedRawTextWriter.cs
- PrinterResolution.cs
- SafeRightsManagementHandle.cs
- PhoneCallDesigner.cs
- connectionpool.cs
- ModelUtilities.cs
- InputReferenceExpression.cs
- Padding.cs
- StartUpEventArgs.cs