Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- BinaryWriter.cs
- HtmlEmptyTagControlBuilder.cs
- SystemDropShadowChrome.cs
- EntitySqlException.cs
- MembershipPasswordException.cs
- Crypto.cs
- UnlockCardRequest.cs
- NativeMethods.cs
- TableSectionStyle.cs
- IndexedString.cs
- XamlTypeMapper.cs
- XsltContext.cs
- MissingFieldException.cs
- IndexedString.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- CngUIPolicy.cs
- DataGridViewAccessibleObject.cs
- WebPartEditVerb.cs
- ItemsPresenter.cs
- XmlNamespaceMappingCollection.cs
- ValueOfAction.cs
- SchemaImporterExtensionElement.cs
- WpfXamlType.cs
- _UriSyntax.cs
- SHA1.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- DateTimeUtil.cs
- XmlReturnWriter.cs
- DbConvert.cs
- StreamGeometry.cs
- FormViewActionList.cs
- JsonQueryStringConverter.cs
- DispatcherExceptionFilterEventArgs.cs
- BufferModesCollection.cs
- XmlNamedNodeMap.cs
- ExtensionSimplifierMarkupObject.cs
- CredentialCache.cs
- RewritingPass.cs
- DefaultAuthorizationContext.cs
- PropertyItemInternal.cs
- TableLayoutRowStyleCollection.cs
- Baml2006SchemaContext.cs
- NumericExpr.cs
- HasCopySemanticsAttribute.cs
- MenuItemStyleCollection.cs
- TemplateGroupCollection.cs
- WebPartCatalogAddVerb.cs
- PriorityBinding.cs
- BrowserInteropHelper.cs
- UInt64Storage.cs
- MenuItemStyle.cs
- OneOfConst.cs
- TimeSpanMinutesConverter.cs
- MessageDecoder.cs
- Triplet.cs
- UInt64Converter.cs
- DataColumnChangeEvent.cs
- DbProviderFactoriesConfigurationHandler.cs
- TcpTransportSecurity.cs
- ConfigurationSettings.cs
- UpDownBase.cs
- DecimalStorage.cs
- MetadataUtil.cs
- DSASignatureFormatter.cs
- OracleConnectionFactory.cs
- KeyboardDevice.cs
- ToggleButtonAutomationPeer.cs
- CodeChecksumPragma.cs
- Message.cs
- BitmapSourceSafeMILHandle.cs
- KeyPressEvent.cs
- SecurityState.cs
- ExcludeFromCodeCoverageAttribute.cs
- ParameterCollection.cs
- MimeFormatter.cs
- VisualTreeHelper.cs
- CodeCompileUnit.cs
- COSERVERINFO.cs
- XmlSchemaComplexContentRestriction.cs
- mil_commands.cs
- TerminatorSinks.cs
- LongValidator.cs
- TextRangeEdit.cs
- ServiceMetadataPublishingElement.cs
- WebResourceAttribute.cs
- BitmapEffectDrawingContextState.cs
- LayoutUtils.cs
- TraceXPathNavigator.cs
- ObjectQueryState.cs
- SelectionHighlightInfo.cs
- AsyncStreamReader.cs
- ProxyGenerator.cs
- ApplicationTrust.cs
- CodeSubDirectory.cs
- ObjectParameterCollection.cs
- LoadMessageLogger.cs
- ControlBuilderAttribute.cs
- BinaryKeyIdentifierClause.cs
- XmlSchemaRedefine.cs
- CharKeyFrameCollection.cs