Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Compilation / PageThemeBuildProvider.cs / 2 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OpenTypeMethods.cs
- QueuedDeliveryRequirementsMode.cs
- UnSafeCharBuffer.cs
- DataGridRow.cs
- FloaterParaClient.cs
- FloaterParaClient.cs
- IndexedString.cs
- WindowsTreeView.cs
- TranslateTransform.cs
- SystemFonts.cs
- WebServiceEnumData.cs
- HttpHeaderCollection.cs
- SqlDataReader.cs
- ConstraintConverter.cs
- ChangeTracker.cs
- ProcessInfo.cs
- SqlMetaData.cs
- SemanticKeyElement.cs
- AmbientLight.cs
- EdmType.cs
- InvalidPropValue.cs
- Compiler.cs
- TextBoxAutomationPeer.cs
- Panel.cs
- FixedSOMElement.cs
- DocumentViewerAutomationPeer.cs
- UIPermission.cs
- BaseInfoTable.cs
- UpdatePanelTriggerCollection.cs
- SchemaUtility.cs
- StrokeRenderer.cs
- SHA256.cs
- StorageEntityTypeMapping.cs
- WorkflowPageSetupDialog.cs
- QueryReaderSettings.cs
- UrlMappingCollection.cs
- SiteOfOriginContainer.cs
- StyleSheetComponentEditor.cs
- SystemResourceHost.cs
- SendAgentStatusRequest.cs
- path.cs
- SqlClientWrapperSmiStreamChars.cs
- ExpressionBuilderCollection.cs
- RegexCapture.cs
- SingleConverter.cs
- DataRecord.cs
- ExpressionEditorAttribute.cs
- WindowsMenu.cs
- BamlRecordWriter.cs
- MemoryFailPoint.cs
- MetaTableHelper.cs
- SqlCharStream.cs
- EditorOptionAttribute.cs
- TextPenaltyModule.cs
- IpcChannel.cs
- ExitEventArgs.cs
- MouseCaptureWithinProperty.cs
- DesignBindingConverter.cs
- VoiceChangeEventArgs.cs
- DecoderExceptionFallback.cs
- ButtonFlatAdapter.cs
- ApplicationManager.cs
- DeviceContext2.cs
- DoubleMinMaxAggregationOperator.cs
- EndpointConfigContainer.cs
- StringAnimationBase.cs
- DataSourceHelper.cs
- QuaternionAnimation.cs
- DataServiceQuery.cs
- NumberFunctions.cs
- RootBrowserWindow.cs
- SettingsPropertyWrongTypeException.cs
- Image.cs
- Int64AnimationUsingKeyFrames.cs
- ContainerControl.cs
- linebase.cs
- DeferredElementTreeState.cs
- updateconfighost.cs
- StreamAsIStream.cs
- TraceListener.cs
- CultureTableRecord.cs
- COM2ExtendedBrowsingHandler.cs
- BypassElement.cs
- ImmutableObjectAttribute.cs
- ListSortDescriptionCollection.cs
- SessionParameter.cs
- ClrPerspective.cs
- SchemaEntity.cs
- ElementProxy.cs
- TimeoutConverter.cs
- RegexCompiler.cs
- HideDisabledControlAdapter.cs
- GeometryGroup.cs
- TableLayoutSettings.cs
- SafeNativeMethods.cs
- SQLByteStorage.cs
- ControlParameter.cs
- ActiveXHelper.cs
- ConsoleKeyInfo.cs
- AutoSizeComboBox.cs