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
- GeneralTransform.cs
- IgnoreSection.cs
- AnnotationAdorner.cs
- WebAdminConfigurationHelper.cs
- ToolboxDataAttribute.cs
- HtmlLabelAdapter.cs
- MetadataArtifactLoaderFile.cs
- DynamicMethod.cs
- SR.cs
- DataGridViewCellFormattingEventArgs.cs
- PageTheme.cs
- ListItemConverter.cs
- DefaultWorkflowSchedulerService.cs
- ScrollViewerAutomationPeer.cs
- XmlName.cs
- SSmlParser.cs
- dtdvalidator.cs
- FormViewPageEventArgs.cs
- Point3DCollection.cs
- SpellCheck.cs
- UserControlAutomationPeer.cs
- ThaiBuddhistCalendar.cs
- DataListItemCollection.cs
- TempFiles.cs
- Window.cs
- FolderLevelBuildProvider.cs
- WeakReferenceKey.cs
- DictionaryKeyPropertyAttribute.cs
- Int64AnimationBase.cs
- ServiceMetadataContractBehavior.cs
- TableCell.cs
- ScrollChangedEventArgs.cs
- SiteMapProvider.cs
- TextViewSelectionProcessor.cs
- DataSourceControl.cs
- DetailsViewPageEventArgs.cs
- SimpleWebHandlerParser.cs
- StructuredTypeInfo.cs
- UpdatePanelTriggerCollection.cs
- SqlRowUpdatedEvent.cs
- ReversePositionQuery.cs
- AttributeSetAction.cs
- DocComment.cs
- LinqDataSourceDeleteEventArgs.cs
- UIElement3DAutomationPeer.cs
- DataGridHeaderBorder.cs
- CompositeFontParser.cs
- GridViewSortEventArgs.cs
- DynamicControl.cs
- SystemWebCachingSectionGroup.cs
- ToolTipService.cs
- WsatAdminException.cs
- WindowManager.cs
- SafeFileMapViewHandle.cs
- FamilyMap.cs
- ItemChangedEventArgs.cs
- XmlParserContext.cs
- CommentEmitter.cs
- COM2TypeInfoProcessor.cs
- KeyTime.cs
- HMACMD5.cs
- CacheSection.cs
- EventSetter.cs
- ServiceKnownTypeAttribute.cs
- xsdvalidator.cs
- GridViewCommandEventArgs.cs
- objectquery_tresulttype.cs
- ProgramPublisher.cs
- UTF8Encoding.cs
- CryptoKeySecurity.cs
- CompiledQuery.cs
- TraceContext.cs
- ECDiffieHellmanPublicKey.cs
- EventProviderWriter.cs
- Rules.cs
- StrongNameKeyPair.cs
- TableLayoutPanel.cs
- FrugalMap.cs
- ContextStaticAttribute.cs
- DashStyles.cs
- AddInEnvironment.cs
- DataGridViewHitTestInfo.cs
- serverconfig.cs
- RemoteWebConfigurationHostStream.cs
- DrawingServices.cs
- TCPListener.cs
- ClientData.cs
- ObjRef.cs
- StorageAssociationSetMapping.cs
- ListViewUpdatedEventArgs.cs
- OpenTypeLayout.cs
- SaveFileDialog.cs
- VisualStyleElement.cs
- LockedHandleGlyph.cs
- BrowserCapabilitiesCompiler.cs
- CoTaskMemHandle.cs
- ElapsedEventArgs.cs
- assertwrapper.cs
- DBDataPermission.cs
- ScopelessEnumAttribute.cs