Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 1 / ApplicationBuildProvider.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Compilation { using System; using System.IO; using System.Collections; using System.CodeDom.Compiler; using System.Web.Hosting; using System.Web.Util; using System.Web.UI; internal class ApplicationBuildProvider: BaseTemplateBuildProvider { internal static BuildResultCompiledGlobalAsaxType GetGlobalAsaxBuildResult(bool isPrecompiledApp) { string cacheKey = BuildManager.GlobalAsaxAssemblyName; // Try the cache first, and if it's not there, compile it BuildResultCompiledGlobalAsaxType result = BuildManager.GetBuildResultFromCache(cacheKey) as BuildResultCompiledGlobalAsaxType; if (result != null) return result; // If this is a precompiled app don't attempt to compile it if (isPrecompiledApp) return null; VirtualPath virtualPath = BuildManager.GlobalAsaxVirtualPath; // If global.asax doesn't exist, just ignore it if (!virtualPath.FileExists()) return null; // Compile global.asax ApplicationBuildProvider buildProvider = new ApplicationBuildProvider(); buildProvider.SetVirtualPath(virtualPath); DateTime utcStart = DateTime.UtcNow; BuildProvidersCompiler bpc = new BuildProvidersCompiler(virtualPath /*configPath*/, BuildManager.GenerateRandomAssemblyName(BuildManager.GlobalAsaxAssemblyName)); // Set the BuildProvider using a single item collection bpc.SetBuildProviders(new SingleObjectCollection(buildProvider)); CompilerResults results = bpc.PerformBuild(); result = (BuildResultCompiledGlobalAsaxType) buildProvider.GetBuildResult(results); // Top level assembliy should not be cached to memory. result.CacheToMemory = false; // Cache it for next time BuildManager.CacheBuildResult(cacheKey, result, utcStart); // Return the compiled type return result; } protected override TemplateParser CreateParser() { return new ApplicationFileParser(); } internal override BaseCodeDomTreeGenerator CreateCodeDomTreeGenerator(TemplateParser parser) { return new ApplicationFileCodeDomTreeGenerator((ApplicationFileParser)parser); } internal override BuildResultCompiledType CreateBuildResult(Type t) { BuildResultCompiledGlobalAsaxType result = new BuildResultCompiledGlobalAsaxType(t); // If global.asax contains
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridViewRowHeaderCell.cs
- TimelineClockCollection.cs
- CheckBoxField.cs
- CatalogZoneBase.cs
- DBSchemaTable.cs
- PriorityRange.cs
- PageWrapper.cs
- ActionFrame.cs
- StreamUpgradeAcceptor.cs
- UrlMappingCollection.cs
- ComboBoxHelper.cs
- TextProperties.cs
- DataGridViewRowsAddedEventArgs.cs
- Drawing.cs
- GestureRecognitionResult.cs
- SqlInternalConnection.cs
- DynamicObjectAccessor.cs
- ISAPIWorkerRequest.cs
- ObjectCloneHelper.cs
- SegmentInfo.cs
- SqlDependencyUtils.cs
- ClientSettingsSection.cs
- Size3DConverter.cs
- CLRBindingWorker.cs
- SystemColors.cs
- TextTreePropertyUndoUnit.cs
- EmptyEnumerable.cs
- ContentPlaceHolder.cs
- AuthStoreRoleProvider.cs
- RtfToXamlLexer.cs
- Table.cs
- SetStoryboardSpeedRatio.cs
- CompoundFileIOPermission.cs
- InputReportEventArgs.cs
- SimpleFileLog.cs
- CheckBoxRenderer.cs
- CodeDirectionExpression.cs
- FrameworkElementAutomationPeer.cs
- Pair.cs
- embossbitmapeffect.cs
- TextSpanModifier.cs
- SwitchCase.cs
- MimeBasePart.cs
- WsatServiceAddress.cs
- CapiSymmetricAlgorithm.cs
- IntegerValidator.cs
- CheckBoxBaseAdapter.cs
- OneOf.cs
- TraceRecord.cs
- If.cs
- ICspAsymmetricAlgorithm.cs
- SmtpAuthenticationManager.cs
- ViewValidator.cs
- FixedSOMPage.cs
- SystemIcmpV4Statistics.cs
- TdsParserStaticMethods.cs
- CodeSubDirectoriesCollection.cs
- ConfigXmlText.cs
- PixelFormat.cs
- SwitchLevelAttribute.cs
- COM2ExtendedBrowsingHandler.cs
- CanonicalXml.cs
- SqlCachedBuffer.cs
- SqlAggregateChecker.cs
- BooleanAnimationUsingKeyFrames.cs
- SemaphoreFullException.cs
- MessageOperationFormatter.cs
- NameValuePermission.cs
- TaskHelper.cs
- DataGridColumnHeader.cs
- Focus.cs
- HttpFileCollection.cs
- BufferBuilder.cs
- GB18030Encoding.cs
- ServiceDesigner.xaml.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- CardSpacePolicyElement.cs
- XhtmlConformanceSection.cs
- invalidudtexception.cs
- DataGridViewColumnTypePicker.cs
- SecurityManager.cs
- XappLauncher.cs
- webeventbuffer.cs
- unitconverter.cs
- XmlDownloadManager.cs
- ApplicationServicesHostFactory.cs
- ProcessHostConfigUtils.cs
- HelpInfo.cs
- MetadataCache.cs
- QueuePropertyVariants.cs
- UserControlBuildProvider.cs
- PolygonHotSpot.cs
- FactoryId.cs
- TransformerInfo.cs
- BamlBinaryReader.cs
- XmlProcessingInstruction.cs
- WebBrowserNavigatingEventHandler.cs
- ThrowHelper.cs
- isolationinterop.cs
- Visual3D.cs