Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ACL.cs
- ToolboxDataAttribute.cs
- SymmetricCryptoHandle.cs
- Stroke.cs
- SaveFileDialog.cs
- GenerateScriptTypeAttribute.cs
- IISMapPath.cs
- HeaderUtility.cs
- CommandTreeTypeHelper.cs
- NativeMethods.cs
- Transform3D.cs
- StringUtil.cs
- NumberAction.cs
- SqlNotificationEventArgs.cs
- DrawToolTipEventArgs.cs
- BlurBitmapEffect.cs
- SessionEndingEventArgs.cs
- InternalPermissions.cs
- BaseParser.cs
- LayoutManager.cs
- propertytag.cs
- ObjectManager.cs
- ApplicationFileCodeDomTreeGenerator.cs
- BinHexDecoder.cs
- WebControlAdapter.cs
- DataSourceHelper.cs
- FixedPageProcessor.cs
- ToolStripItemRenderEventArgs.cs
- OutputCacheSection.cs
- HGlobalSafeHandle.cs
- FontClient.cs
- SelectionChangedEventArgs.cs
- DesignerForm.cs
- OraclePermission.cs
- httpapplicationstate.cs
- FixedSOMTextRun.cs
- BooleanFacetDescriptionElement.cs
- CodeDomLocalizationProvider.cs
- Path.cs
- MimeParameters.cs
- ReadOnlyMetadataCollection.cs
- WebPartsPersonalization.cs
- MessagePartDescriptionCollection.cs
- QueryContext.cs
- DesignerForm.cs
- TcpChannelHelper.cs
- DocumentSequenceHighlightLayer.cs
- Random.cs
- SqlConnectionPoolProviderInfo.cs
- XPathParser.cs
- SHA384CryptoServiceProvider.cs
- DictionaryEntry.cs
- OdbcConnectionStringbuilder.cs
- TextTreeInsertElementUndoUnit.cs
- CommonObjectSecurity.cs
- StreamGeometry.cs
- XmlNodeChangedEventManager.cs
- XsdDateTime.cs
- GeometryDrawing.cs
- FloatMinMaxAggregationOperator.cs
- CorrelationResolver.cs
- Helpers.cs
- DataProviderNameConverter.cs
- DomainConstraint.cs
- EventHandlers.cs
- ParagraphResult.cs
- TemplatePagerField.cs
- _ContextAwareResult.cs
- CodeStatementCollection.cs
- QilDataSource.cs
- DesignTimeHTMLTextWriter.cs
- UrlAuthFailedErrorFormatter.cs
- HttpListenerContext.cs
- WebZone.cs
- DynamicResourceExtension.cs
- EntityDataSourceMemberPath.cs
- ScrollViewerAutomationPeer.cs
- WebMessageEncodingElement.cs
- WebConfigurationHost.cs
- AccessDataSource.cs
- TextAdaptor.cs
- AddInIpcChannel.cs
- ApplicationServiceHelper.cs
- MetadataPropertyAttribute.cs
- Stack.cs
- ListViewDeleteEventArgs.cs
- SqlDataSourceSelectingEventArgs.cs
- ProfileModule.cs
- MachineKeyValidationConverter.cs
- TreeViewItem.cs
- CompositeFontParser.cs
- IdentifierService.cs
- XmlAnyElementAttribute.cs
- RequestResizeEvent.cs
- PnrpPermission.cs
- TransportSecurityHelpers.cs
- WebPartsSection.cs
- BrowserCapabilitiesFactoryBase.cs
- Translator.cs
- CssStyleCollection.cs