Code:
/ DotNET / DotNET / 8.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
- QuaternionRotation3D.cs
- DataSourceDescriptorCollection.cs
- FileLogRecordStream.cs
- AmbientValueAttribute.cs
- DefaultTextStore.cs
- TextElementEnumerator.cs
- XmlIlTypeHelper.cs
- ImmutableObjectAttribute.cs
- BlobPersonalizationState.cs
- ProxySimple.cs
- DllNotFoundException.cs
- ImpersonateTokenRef.cs
- MatrixTransform3D.cs
- ContextMenuService.cs
- AppDomainManager.cs
- Normalizer.cs
- CodeMemberProperty.cs
- JsonEncodingStreamWrapper.cs
- PageSettings.cs
- DefaultPrintController.cs
- XmlConverter.cs
- ConstrainedDataObject.cs
- LinqDataSourceValidationException.cs
- KnowledgeBase.cs
- EastAsianLunisolarCalendar.cs
- TextDecorationUnitValidation.cs
- TextServicesDisplayAttribute.cs
- Animatable.cs
- CompositeCollectionView.cs
- GridViewColumnHeaderAutomationPeer.cs
- DescendentsWalkerBase.cs
- KnownIds.cs
- MetadataSource.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- GridViewUpdateEventArgs.cs
- CheckBoxFlatAdapter.cs
- ListViewUpdateEventArgs.cs
- PreProcessInputEventArgs.cs
- NamespaceEmitter.cs
- DependencyObjectType.cs
- XmlWrappingWriter.cs
- UserControlParser.cs
- HttpCapabilitiesEvaluator.cs
- Ipv6Element.cs
- StylusShape.cs
- Number.cs
- BitmapScalingModeValidation.cs
- TcpConnectionPoolSettingsElement.cs
- InputScopeConverter.cs
- BuilderInfo.cs
- DropTarget.cs
- MessageSmuggler.cs
- AxHost.cs
- RankException.cs
- SymbolEqualComparer.cs
- InvalidPrinterException.cs
- XmlSchemaProviderAttribute.cs
- SchemaCollectionCompiler.cs
- EventProperty.cs
- AnnotationService.cs
- versioninfo.cs
- CommandSet.cs
- DelimitedListTraceListener.cs
- BrowserCapabilitiesCodeGenerator.cs
- RegexEditorDialog.cs
- PositiveTimeSpanValidator.cs
- DataGridParentRows.cs
- SmtpDateTime.cs
- ServiceHandle.cs
- XmlNotation.cs
- DbTransaction.cs
- Options.cs
- typedescriptorpermissionattribute.cs
- PasswordTextNavigator.cs
- XmlStringTable.cs
- ElementHost.cs
- EntityDataSourceWrapper.cs
- AutomationProperty.cs
- InputLanguageProfileNotifySink.cs
- WebPartEditVerb.cs
- UrlParameterWriter.cs
- Rotation3DKeyFrameCollection.cs
- QuaternionRotation3D.cs
- DataListItemEventArgs.cs
- SiteMapNodeItem.cs
- QilGenerator.cs
- wgx_render.cs
- ValueUtilsSmi.cs
- DependencyPropertyValueSerializer.cs
- SecurityRuntime.cs
- StdValidatorsAndConverters.cs
- FixedSOMElement.cs
- DbReferenceCollection.cs
- SoapProcessingBehavior.cs
- Point.cs
- MsmqTransportSecurityElement.cs
- localization.cs
- SqlFlattener.cs
- ButtonChrome.cs
- CompositeDataBoundControl.cs