Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListViewInsertedEventArgs.cs
- ReferenceEqualityComparer.cs
- ReferenceAssemblyAttribute.cs
- NumberEdit.cs
- SmtpSection.cs
- Pen.cs
- EntityDataSourceStatementEditor.cs
- DataTableClearEvent.cs
- Win32Exception.cs
- UrlAuthFailedErrorFormatter.cs
- XmlSchemaChoice.cs
- LinearKeyFrames.cs
- HashHelper.cs
- BuildManagerHost.cs
- QilTypeChecker.cs
- Rfc2898DeriveBytes.cs
- IgnoreSection.cs
- ProtectedConfigurationSection.cs
- SyndicationItemFormatter.cs
- SubMenuStyle.cs
- FormsAuthenticationUser.cs
- Marshal.cs
- InheritanceAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- JsonReaderWriterFactory.cs
- Filter.cs
- ChildChangedEventArgs.cs
- CheckBoxRenderer.cs
- clipboard.cs
- HtmlShimManager.cs
- DataGridHeaderBorder.cs
- MSG.cs
- Int16Storage.cs
- MasterPageCodeDomTreeGenerator.cs
- safesecurityhelperavalon.cs
- TraceHwndHost.cs
- SmtpNtlmAuthenticationModule.cs
- SystemIcmpV4Statistics.cs
- DBPropSet.cs
- DynamicMethod.cs
- ConsumerConnectionPointCollection.cs
- XsltInput.cs
- Iis7Helper.cs
- IPAddressCollection.cs
- SemanticKeyElement.cs
- BehaviorEditorPart.cs
- BinHexEncoder.cs
- MarkupExtensionParser.cs
- DigitalSignature.cs
- ApplicationManager.cs
- PageHandlerFactory.cs
- DbFunctionCommandTree.cs
- LogicalTreeHelper.cs
- AutomationPropertyInfo.cs
- ToolStripDropTargetManager.cs
- HttpHandlersSection.cs
- Drawing.cs
- ToolStripDropDown.cs
- TextBox.cs
- Pair.cs
- QueryHandler.cs
- QilInvoke.cs
- ExtendedProtectionPolicyTypeConverter.cs
- PeerNameRegistration.cs
- EditorServiceContext.cs
- _RequestCacheProtocol.cs
- Matrix.cs
- ComponentResourceKey.cs
- ImageDrawing.cs
- InvalidOleVariantTypeException.cs
- CatalogPart.cs
- DocumentGridPage.cs
- FilterEventArgs.cs
- dsa.cs
- DataDocumentXPathNavigator.cs
- PackageRelationshipCollection.cs
- Shape.cs
- PointLight.cs
- RTTrackingProfile.cs
- DecimalAnimation.cs
- ResourceReferenceKeyNotFoundException.cs
- ThreadStartException.cs
- Content.cs
- SoapHelper.cs
- TextInfo.cs
- AssemblyResolver.cs
- MenuItemCollection.cs
- ControlIdConverter.cs
- SafeNativeMethods.cs
- PasswordTextNavigator.cs
- HostingEnvironmentWrapper.cs
- ISAPIRuntime.cs
- TypeResolvingOptions.cs
- RC2.cs
- DispatcherHooks.cs
- SafeProcessHandle.cs
- DataGridItemCollection.cs
- TextElementAutomationPeer.cs
- wgx_commands.cs
- AlternateViewCollection.cs