Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TableLayoutSettingsTypeConverter.cs
- FrameworkTemplate.cs
- Number.cs
- NotImplementedException.cs
- NumericUpDownAccelerationCollection.cs
- PolyQuadraticBezierSegment.cs
- Marshal.cs
- AutomationProperties.cs
- InputMethodStateTypeInfo.cs
- MetadataWorkspace.cs
- InternalCompensate.cs
- DataControlReference.cs
- PropertyMappingExceptionEventArgs.cs
- WorkerRequest.cs
- ConfigDefinitionUpdates.cs
- GeometryValueSerializer.cs
- Operator.cs
- CfgParser.cs
- ExpressionsCollectionConverter.cs
- HGlobalSafeHandle.cs
- MemoryStream.cs
- Typography.cs
- XamlRtfConverter.cs
- Regex.cs
- TextBox.cs
- DiscoveryProxy.cs
- DbConnectionPool.cs
- CopyOnWriteList.cs
- SiteMap.cs
- Window.cs
- TextBoxLine.cs
- CollectionsUtil.cs
- WebConfigurationFileMap.cs
- LogStore.cs
- DynamicPropertyHolder.cs
- ProxyWebPartManager.cs
- Label.cs
- OperationCanceledException.cs
- KeyboardEventArgs.cs
- Hash.cs
- ProxySimple.cs
- NamespaceList.cs
- SoapTypeAttribute.cs
- SingleConverter.cs
- ValueExpressions.cs
- XPathScanner.cs
- LinqDataView.cs
- FixUp.cs
- SqlDataSourceTableQuery.cs
- Panel.cs
- MsmqIntegrationBindingElement.cs
- GlyphElement.cs
- SafeCoTaskMem.cs
- TemplatedMailWebEventProvider.cs
- LassoHelper.cs
- LinkClickEvent.cs
- State.cs
- FixedSOMTable.cs
- MonthChangedEventArgs.cs
- DnsPermission.cs
- MetadataItemCollectionFactory.cs
- XmlBinaryWriter.cs
- AutoCompleteStringCollection.cs
- RichTextBoxConstants.cs
- NameValueFileSectionHandler.cs
- XmlSchemaAny.cs
- ExtentCqlBlock.cs
- RepeaterItemEventArgs.cs
- Descriptor.cs
- SimpleBitVector32.cs
- AuthorizationRuleCollection.cs
- SecurityResources.cs
- ApplicationServicesHostFactory.cs
- WindowsListViewItemStartMenu.cs
- WebPartConnectionsCancelEventArgs.cs
- DPAPIProtectedConfigurationProvider.cs
- InsufficientMemoryException.cs
- TypefaceCollection.cs
- tabpagecollectioneditor.cs
- ResourceAttributes.cs
- BitVector32.cs
- NameSpaceEvent.cs
- XmlLangPropertyAttribute.cs
- ContractNamespaceAttribute.cs
- PathGeometry.cs
- BaseAddressPrefixFilterElementCollection.cs
- StylusLogic.cs
- Keywords.cs
- StringFunctions.cs
- SymLanguageType.cs
- ConfigurationException.cs
- DataGridRow.cs
- CodeStatementCollection.cs
- ValidatorUtils.cs
- ApplicationContext.cs
- DataTrigger.cs
- SystemWebSectionGroup.cs
- ResponseStream.cs
- ExpressionEditorAttribute.cs
- MiniCustomAttributeInfo.cs