Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 1305376 / 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
- CodeGroup.cs
- TextDocumentView.cs
- PackageController.cs
- XmlEnumAttribute.cs
- LookupNode.cs
- ToolStripContainer.cs
- SqlMethodAttribute.cs
- XmlHierarchicalDataSourceView.cs
- GZipDecoder.cs
- ErrorFormatterPage.cs
- baseaxisquery.cs
- SectionUpdates.cs
- CompilerGlobalScopeAttribute.cs
- MemberAccessException.cs
- DataGridRow.cs
- Errors.cs
- PrintDialog.cs
- StreamUpdate.cs
- TextComposition.cs
- SizeAnimationUsingKeyFrames.cs
- HtmlFormAdapter.cs
- SiteMap.cs
- PageBreakRecord.cs
- TreeNodeConverter.cs
- GridEntryCollection.cs
- CheckBoxList.cs
- PathSegmentCollection.cs
- Parser.cs
- ThreadPool.cs
- DynamicField.cs
- X509ChainPolicy.cs
- SymbolUsageManager.cs
- PageAdapter.cs
- ListViewPagedDataSource.cs
- FixedFlowMap.cs
- Keyboard.cs
- Group.cs
- HtmlInputHidden.cs
- TextComposition.cs
- OpenTypeCommon.cs
- CodeMemberProperty.cs
- WeakRefEnumerator.cs
- StylusButtonEventArgs.cs
- EntityViewGenerator.cs
- ErrorHandler.cs
- TextTreePropertyUndoUnit.cs
- SymLanguageVendor.cs
- Guid.cs
- AlignmentYValidation.cs
- AppDomainUnloadedException.cs
- FastEncoder.cs
- QueryStringConverter.cs
- SessionEndingEventArgs.cs
- MachineKeyConverter.cs
- WebServiceMethodData.cs
- TextRenderer.cs
- TextDocumentView.cs
- MouseGesture.cs
- DecimalAnimation.cs
- MulticastOption.cs
- Types.cs
- WindowsBrush.cs
- StructuredCompositeActivityDesigner.cs
- DataGridViewRowsAddedEventArgs.cs
- SkinBuilder.cs
- PartManifestEntry.cs
- DataControlImageButton.cs
- TextCharacters.cs
- CompositionTarget.cs
- SystemWebCachingSectionGroup.cs
- UrlPath.cs
- BitmapEffectCollection.cs
- Console.cs
- PermissionSet.cs
- RunInstallerAttribute.cs
- ProxyFragment.cs
- ZipIOFileItemStream.cs
- TextBox.cs
- SiteMapDataSourceDesigner.cs
- NominalTypeEliminator.cs
- PropertyMappingExceptionEventArgs.cs
- MaskInputRejectedEventArgs.cs
- DataBindingHandlerAttribute.cs
- TableRow.cs
- ServiceBehaviorElement.cs
- _ScatterGatherBuffers.cs
- HtmlInputImage.cs
- CheckBoxRenderer.cs
- WindowsImpersonationContext.cs
- ReflectionTypeLoadException.cs
- HttpHandlerActionCollection.cs
- LocationUpdates.cs
- DataConnectionHelper.cs
- OneOfConst.cs
- MessagePartSpecification.cs
- ChineseLunisolarCalendar.cs
- RepeatButton.cs
- PageRanges.cs
- FloaterParaClient.cs
- MessageFilterTable.cs