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
- PreApplicationStartMethodAttribute.cs
- GeneralTransform3DTo2DTo3D.cs
- AccessibleObject.cs
- HuffModule.cs
- FeedUtils.cs
- TextCompositionEventArgs.cs
- XamlToRtfParser.cs
- StreamingContext.cs
- MatrixTransform3D.cs
- VerificationException.cs
- MouseEvent.cs
- TextElementCollection.cs
- FlowDecision.cs
- SqlBuilder.cs
- Membership.cs
- MenuItemStyleCollection.cs
- ProfileGroupSettings.cs
- CodeVariableDeclarationStatement.cs
- InternalBufferManager.cs
- BaseTreeIterator.cs
- UpWmlMobileTextWriter.cs
- HtmlTextArea.cs
- HttpApplicationStateBase.cs
- ValidatorCompatibilityHelper.cs
- SecurityTokenInclusionMode.cs
- DataControlLinkButton.cs
- HttpProfileGroupBase.cs
- TextSpanModifier.cs
- wgx_render.cs
- XPathMessageContext.cs
- FormsAuthenticationConfiguration.cs
- CodeChecksumPragma.cs
- ManipulationStartingEventArgs.cs
- securestring.cs
- CompilerCollection.cs
- Vector3DConverter.cs
- ProfileManager.cs
- TraceHandler.cs
- TableCellCollection.cs
- RandomNumberGenerator.cs
- IdentifierCollection.cs
- SimplePropertyEntry.cs
- ToolConsole.cs
- HttpListenerException.cs
- JavaScriptObjectDeserializer.cs
- Logging.cs
- SmiContext.cs
- ReceiveActivityValidator.cs
- FontSourceCollection.cs
- WorkflowLayouts.cs
- LayeredChannelFactory.cs
- LinqDataSourceContextEventArgs.cs
- EdmMember.cs
- odbcmetadatafactory.cs
- Lease.cs
- ProjectedWrapper.cs
- ScriptControlManager.cs
- XmlFormatExtensionPrefixAttribute.cs
- SqlDataSource.cs
- PhysicalFontFamily.cs
- TreeNodeCollection.cs
- ContractCodeDomInfo.cs
- CompositeFontInfo.cs
- EntityDataSourceDataSelection.cs
- BaseResourcesBuildProvider.cs
- ModelFunction.cs
- XPathCompiler.cs
- ThemeDirectoryCompiler.cs
- DataControlImageButton.cs
- ScriptServiceAttribute.cs
- Int16.cs
- WebPartConnection.cs
- XmlDocumentSchema.cs
- Sql8ExpressionRewriter.cs
- MatrixTransform3D.cs
- PasswordTextNavigator.cs
- FormViewDeleteEventArgs.cs
- ByeOperation11AsyncResult.cs
- ScaleTransform3D.cs
- SqlHelper.cs
- HostProtectionPermission.cs
- Privilege.cs
- ProxyHwnd.cs
- ConfigXmlCDataSection.cs
- AuditLogLocation.cs
- DecimalAnimationBase.cs
- XmlAttributeAttribute.cs
- SerializationInfoEnumerator.cs
- WorkflowShape.cs
- APCustomTypeDescriptor.cs
- RepeatInfo.cs
- securestring.cs
- ErrorHandler.cs
- HtmlImage.cs
- ButtonAutomationPeer.cs
- Floater.cs
- Button.cs
- WebPartActionVerb.cs
- TreeNodeCollectionEditorDialog.cs
- Page.cs