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
- ServiceDescriptionImporter.cs
- FontEmbeddingManager.cs
- HostingEnvironmentException.cs
- CodeAccessSecurityEngine.cs
- MenuItem.cs
- HtmlSelect.cs
- CommentEmitter.cs
- MethodCallTranslator.cs
- ProviderSettingsCollection.cs
- CollaborationHelperFunctions.cs
- Vector3DAnimation.cs
- KnownTypes.cs
- SafeFileMappingHandle.cs
- SystemColorTracker.cs
- DataGridViewCellConverter.cs
- UnsafeMethods.cs
- ViewGenResults.cs
- QuotedPrintableStream.cs
- BigInt.cs
- StringPropertyBuilder.cs
- SelectionPattern.cs
- BigInt.cs
- RegexMatch.cs
- XdrBuilder.cs
- UIElementAutomationPeer.cs
- BufferBuilder.cs
- UidManager.cs
- PasswordRecovery.cs
- ClockGroup.cs
- EventMappingSettings.cs
- XmlSchemaProviderAttribute.cs
- ArrayElementGridEntry.cs
- SocketInformation.cs
- WindowsFormsDesignerOptionService.cs
- SingleObjectCollection.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Visitor.cs
- RectAnimationUsingKeyFrames.cs
- MessageSmuggler.cs
- ProtocolsSection.cs
- InheritedPropertyChangedEventArgs.cs
- FileDialog_Vista.cs
- ActivityCodeGenerator.cs
- FilterQuery.cs
- XmlIterators.cs
- GridViewUpdateEventArgs.cs
- ReflectionServiceProvider.cs
- FixedSOMFixedBlock.cs
- wgx_render.cs
- FilteredAttributeCollection.cs
- IssuerInformation.cs
- EndOfStreamException.cs
- Rule.cs
- MetadataItemEmitter.cs
- ParseElementCollection.cs
- WebBrowserSiteBase.cs
- InputReferenceExpression.cs
- XmlUtil.cs
- xamlnodes.cs
- SymbolPair.cs
- TemplateInstanceAttribute.cs
- CurrentChangedEventManager.cs
- PropertyMetadata.cs
- ConnectionInterfaceCollection.cs
- MetadataFile.cs
- BaseAppDomainProtocolHandler.cs
- ByteKeyFrameCollection.cs
- CompiledRegexRunnerFactory.cs
- UnknownBitmapEncoder.cs
- ClientTarget.cs
- DataGridParentRows.cs
- DataRowCollection.cs
- PointConverter.cs
- Directory.cs
- TextDecorationUnitValidation.cs
- ExceptionHandlerDesigner.cs
- DeferredReference.cs
- SmtpClient.cs
- loginstatus.cs
- StructuredProperty.cs
- XmlDictionaryReaderQuotas.cs
- ToolStripContainerActionList.cs
- MemoryPressure.cs
- UriWriter.cs
- PageAction.cs
- MulticastOption.cs
- BCryptSafeHandles.cs
- Set.cs
- Grant.cs
- RoleManagerSection.cs
- DataContext.cs
- CodeActivity.cs
- ContextMenu.cs
- DateTime.cs
- SkewTransform.cs
- _TimerThread.cs
- SchemaSetCompiler.cs
- DiscoveryReference.cs
- EntityDataSourceContainerNameConverter.cs
- PropertyBuilder.cs