Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- HierarchicalDataSourceControl.cs
- WebPartsPersonalization.cs
- DataGridItem.cs
- SystemIPGlobalStatistics.cs
- AssemblyCache.cs
- WsatServiceAddress.cs
- BreakSafeBase.cs
- OptimalTextSource.cs
- MessageSecurityException.cs
- oledbmetadatacollectionnames.cs
- ConsoleCancelEventArgs.cs
- ISFClipboardData.cs
- Char.cs
- TreeNodeStyle.cs
- OleAutBinder.cs
- SQLRoleProvider.cs
- AuthorizationRule.cs
- PenCursorManager.cs
- MD5CryptoServiceProvider.cs
- AppDomainGrammarProxy.cs
- ListViewTableCell.cs
- ValueConversionAttribute.cs
- PhysicalOps.cs
- HttpResponseInternalWrapper.cs
- ProxyGenerator.cs
- UIElement3D.cs
- FileRecordSequenceCompletedAsyncResult.cs
- WebPartConnectionsEventArgs.cs
- LocationSectionRecord.cs
- WebPartZoneBase.cs
- ConfigXmlWhitespace.cs
- ToolTipAutomationPeer.cs
- TextRangeBase.cs
- SQLDecimalStorage.cs
- AutoGeneratedField.cs
- LambdaSerializationException.cs
- PreviewControlDesigner.cs
- DoubleAnimationUsingPath.cs
- Expression.cs
- StrokeNodeData.cs
- XmlNodeList.cs
- MeasurementDCInfo.cs
- ColorAnimationBase.cs
- BaseAutoFormat.cs
- webclient.cs
- IndentTextWriter.cs
- ScriptingSectionGroup.cs
- RoleGroupCollection.cs
- OdbcConnectionStringbuilder.cs
- XmlBufferReader.cs
- Transform3D.cs
- SamlAssertionKeyIdentifierClause.cs
- HWStack.cs
- AutoResetEvent.cs
- DataGridViewRowsAddedEventArgs.cs
- BamlCollectionHolder.cs
- SequenceDesignerAccessibleObject.cs
- Environment.cs
- ProfileParameter.cs
- DocumentApplicationJournalEntry.cs
- X509ThumbprintKeyIdentifierClause.cs
- MetabaseSettingsIis7.cs
- _OverlappedAsyncResult.cs
- WindowsMenu.cs
- DataGridHeaderBorder.cs
- WindowsListView.cs
- NotImplementedException.cs
- MULTI_QI.cs
- DesignerUtils.cs
- XmlCharacterData.cs
- BamlResourceContent.cs
- ChangeProcessor.cs
- ChtmlPhoneCallAdapter.cs
- XmlWrappingReader.cs
- ConstrainedDataObject.cs
- ClockGroup.cs
- TableSectionStyle.cs
- StaticResourceExtension.cs
- ItemCheckEvent.cs
- TerminatorSinks.cs
- SamlAuthorizationDecisionClaimResource.cs
- WindowsGraphicsCacheManager.cs
- CompileXomlTask.cs
- ResolvedKeyFrameEntry.cs
- AnnotationResourceCollection.cs
- CompModSwitches.cs
- GPPOINT.cs
- WebPartConnectionsCancelEventArgs.cs
- UiaCoreProviderApi.cs
- MetadataCache.cs
- RepeaterItemEventArgs.cs
- ValueTable.cs
- DurationConverter.cs
- RectConverter.cs
- SafeRightsManagementHandle.cs
- DocumentSignatureManager.cs
- WebCategoryAttribute.cs
- Control.cs
- CommandID.cs
- PersistChildrenAttribute.cs