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
- WebServiceTypeData.cs
- ServiceMetadataContractBehavior.cs
- PolyBezierSegmentFigureLogic.cs
- TCEAdapterGenerator.cs
- TextBoxBaseDesigner.cs
- CommonDialog.cs
- WebOperationContext.cs
- GridItem.cs
- HasCopySemanticsAttribute.cs
- LineGeometry.cs
- ContentHostHelper.cs
- SqlInfoMessageEvent.cs
- InvokeMethodActivity.cs
- TTSEngineProxy.cs
- StyleModeStack.cs
- HierarchicalDataBoundControlAdapter.cs
- HostSecurityManager.cs
- FrameworkRichTextComposition.cs
- XmlValueConverter.cs
- DesignColumnCollection.cs
- ValidationEventArgs.cs
- ZipIOCentralDirectoryFileHeader.cs
- LinearKeyFrames.cs
- Highlights.cs
- SchemaNames.cs
- DataGridViewAdvancedBorderStyle.cs
- CapabilitiesPattern.cs
- ManagementNamedValueCollection.cs
- DiscoveryRequestHandler.cs
- StateMachineWorkflow.cs
- EventDescriptorCollection.cs
- CollectionViewGroup.cs
- CodeCastExpression.cs
- SelectionChangedEventArgs.cs
- CardSpaceException.cs
- Int32CAMarshaler.cs
- Input.cs
- Win32Exception.cs
- NameObjectCollectionBase.cs
- DrawingBrush.cs
- ExpandedWrapper.cs
- TriState.cs
- IndexedEnumerable.cs
- ContextProperty.cs
- SecurityVersion.cs
- HttpServerProtocol.cs
- KeyValuePair.cs
- CounterSetInstanceCounterDataSet.cs
- RemotingHelper.cs
- CaseInsensitiveHashCodeProvider.cs
- Parsers.cs
- ViewLoader.cs
- PersonalizationProviderHelper.cs
- SettingsProperty.cs
- StructuredTypeInfo.cs
- LogArchiveSnapshot.cs
- ApplicationServiceManager.cs
- BaseCodeDomTreeGenerator.cs
- TextBounds.cs
- Style.cs
- WebReferencesBuildProvider.cs
- DoWorkEventArgs.cs
- ClickablePoint.cs
- OlePropertyStructs.cs
- DbConnectionPoolCounters.cs
- StrongNameKeyPair.cs
- MetaModel.cs
- messageonlyhwndwrapper.cs
- WindowsFormsLinkLabel.cs
- ToggleButton.cs
- CustomAttribute.cs
- MimeObjectFactory.cs
- ItemsPanelTemplate.cs
- CookieParameter.cs
- dataobject.cs
- NamedPipeActivation.cs
- Transactions.cs
- XmlSchemaSimpleTypeUnion.cs
- UnsignedPublishLicense.cs
- MimeTypeMapper.cs
- UnmanagedMemoryStream.cs
- CLRBindingWorker.cs
- EnvironmentPermission.cs
- TextDecoration.cs
- PKCS1MaskGenerationMethod.cs
- RtfControls.cs
- ItemList.cs
- GeneratedCodeAttribute.cs
- SqlDataSourceEnumerator.cs
- XPathBinder.cs
- Vector3DValueSerializer.cs
- SystemEvents.cs
- WindowsSecurityToken.cs
- Set.cs
- XpsFixedPageReaderWriter.cs
- COSERVERINFO.cs
- ComPlusDiagnosticTraceSchemas.cs
- DataGridParentRows.cs
- TextCompositionEventArgs.cs
- SelectedDatesCollection.cs