Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ApplicationId.cs
- ListBase.cs
- RegexParser.cs
- StylusDownEventArgs.cs
- WorkflowViewService.cs
- ExpressionBuilderCollection.cs
- Main.cs
- UnmanagedMarshal.cs
- DynamicDiscoveryDocument.cs
- FileInfo.cs
- ExceptionHelpers.cs
- HttpResponseMessageProperty.cs
- DataSourceConverter.cs
- HtmlTitle.cs
- CompilerCollection.cs
- SmtpAuthenticationManager.cs
- WorkflowPersistenceService.cs
- ListItemCollection.cs
- FilteredReadOnlyMetadataCollection.cs
- Publisher.cs
- QuaternionAnimation.cs
- hwndwrapper.cs
- RequestCache.cs
- SqlDelegatedTransaction.cs
- ScriptingJsonSerializationSection.cs
- RandomNumberGenerator.cs
- TransformGroup.cs
- WebHostedComPlusServiceHost.cs
- hwndwrapper.cs
- RegexReplacement.cs
- DbConnectionStringBuilder.cs
- SoapHeader.cs
- counter.cs
- InvalidProgramException.cs
- MeasurementDCInfo.cs
- ConfigurationSettings.cs
- CompositeFontParser.cs
- CustomErrorCollection.cs
- HexParser.cs
- ObjectContextServiceProvider.cs
- SyndicationSerializer.cs
- XmlSchemaObjectCollection.cs
- SQLBytes.cs
- TextRunTypographyProperties.cs
- ClassHandlersStore.cs
- MenuStrip.cs
- CompilerCollection.cs
- StylusOverProperty.cs
- CopyCodeAction.cs
- SelectorItemAutomationPeer.cs
- MessageHeaderInfoTraceRecord.cs
- SessionIDManager.cs
- CreateRefExpr.cs
- TypeUnloadedException.cs
- WebServiceTypeData.cs
- CalendarTable.cs
- MetadataSource.cs
- ImageMap.cs
- ConnectionAcceptor.cs
- ComponentResourceKeyConverter.cs
- ArithmeticException.cs
- LayoutDump.cs
- XPathSelfQuery.cs
- NetStream.cs
- SequenceDesignerAccessibleObject.cs
- FileDataSourceCache.cs
- DoubleAnimationBase.cs
- BaseCodePageEncoding.cs
- GeneralTransformGroup.cs
- ScriptHandlerFactory.cs
- StrictAndMessageFilter.cs
- ToolStripItemBehavior.cs
- AlternateView.cs
- DetailsViewPageEventArgs.cs
- MailBnfHelper.cs
- RubberbandSelector.cs
- ZipIORawDataFileBlock.cs
- VectorAnimation.cs
- BaseResourcesBuildProvider.cs
- AnnotationDocumentPaginator.cs
- LongPath.cs
- Part.cs
- SupportingTokenChannel.cs
- AtomMaterializerLog.cs
- UTF32Encoding.cs
- _ContextAwareResult.cs
- SocketInformation.cs
- ClientConfigurationHost.cs
- TargetException.cs
- DebugTrace.cs
- DiffuseMaterial.cs
- Queue.cs
- FileDialogCustomPlace.cs
- DataTableReader.cs
- MasterPageBuildProvider.cs
- CellTreeNode.cs
- CatalogPart.cs
- Soap.cs
- ToolStripComboBox.cs
- Triplet.cs