Code:
/ 4.0 / 4.0 / untmp / 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
- _SslStream.cs
- TreeNodeStyleCollectionEditor.cs
- ContextProperty.cs
- _LocalDataStore.cs
- PlatformCulture.cs
- PointUtil.cs
- PngBitmapEncoder.cs
- DLinqColumnProvider.cs
- TextParagraphView.cs
- InnerItemCollectionView.cs
- WrappingXamlSchemaContext.cs
- TripleDES.cs
- XPathNavigator.cs
- OperationAbortedException.cs
- SizeConverter.cs
- FileLevelControlBuilderAttribute.cs
- TableItemPatternIdentifiers.cs
- SelectionPattern.cs
- WebPartMenuStyle.cs
- Rotation3D.cs
- DecimalAnimation.cs
- And.cs
- ObjectContextServiceProvider.cs
- KeyedHashAlgorithm.cs
- TableParagraph.cs
- SqlCacheDependencyDatabase.cs
- OracleNumber.cs
- ValidationRule.cs
- WebScriptEnablingElement.cs
- XmlDataSourceView.cs
- FixedLineResult.cs
- Utils.cs
- BlurBitmapEffect.cs
- CompositeFontInfo.cs
- MasterPageCodeDomTreeGenerator.cs
- AliasGenerator.cs
- UnitySerializationHolder.cs
- PropertyInformationCollection.cs
- CheckPair.cs
- DiscoveryOperationContext.cs
- TableRowsCollectionEditor.cs
- MexTcpBindingElement.cs
- ControlPersister.cs
- DurableInstance.cs
- SqlUtil.cs
- ACL.cs
- ProxyWebPartConnectionCollection.cs
- SafeRightsManagementEnvironmentHandle.cs
- ObjectAssociationEndMapping.cs
- If.cs
- SystemUdpStatistics.cs
- XmlTextEncoder.cs
- ButtonBase.cs
- Button.cs
- DynamicDataResources.Designer.cs
- SqlDependencyUtils.cs
- SoapIncludeAttribute.cs
- RoutedEventHandlerInfo.cs
- RecommendedAsConfigurableAttribute.cs
- TextFormatterImp.cs
- PickBranchDesigner.xaml.cs
- PointCollection.cs
- TemplateAction.cs
- XPathSelectionIterator.cs
- WebControlsSection.cs
- WinInetCache.cs
- WindowsClaimSet.cs
- OdbcException.cs
- XmlQualifiedName.cs
- CodeComment.cs
- TypeElement.cs
- XmlObjectSerializerWriteContextComplex.cs
- _NetRes.cs
- SHA1Managed.cs
- ColorTranslator.cs
- ExpressionWriter.cs
- UnicastIPAddressInformationCollection.cs
- GlyphingCache.cs
- GridItem.cs
- SchemaDeclBase.cs
- BitmapInitialize.cs
- DataGridRowDetailsEventArgs.cs
- SnapshotChangeTrackingStrategy.cs
- GatewayIPAddressInformationCollection.cs
- WebZone.cs
- IPGlobalProperties.cs
- TextRunTypographyProperties.cs
- TrackPoint.cs
- ProjectionPruner.cs
- OutputCacheSettingsSection.cs
- CmsInterop.cs
- PocoEntityKeyStrategy.cs
- ToolStripDropTargetManager.cs
- MetadataArtifactLoaderCompositeResource.cs
- Part.cs
- MetadataArtifactLoaderComposite.cs
- FacetValueContainer.cs
- ExceptionHandlerDesigner.cs
- MarshalByRefObject.cs
- SpeechEvent.cs