Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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
- QilInvokeEarlyBound.cs
- SizeValueSerializer.cs
- DispatcherTimer.cs
- ThemeDirectoryCompiler.cs
- SendMailErrorEventArgs.cs
- XmlAttributeCache.cs
- TablePatternIdentifiers.cs
- WhiteSpaceTrimStringConverter.cs
- LinkClickEvent.cs
- ModelTreeEnumerator.cs
- HScrollProperties.cs
- BinaryMessageEncodingElement.cs
- ScopedKnownTypes.cs
- AttributeParameterInfo.cs
- DataGridSortingEventArgs.cs
- MobileRedirect.cs
- EmbossBitmapEffect.cs
- ContainerControl.cs
- _AutoWebProxyScriptHelper.cs
- Grid.cs
- X500Name.cs
- GetTokenRequest.cs
- WebServiceResponse.cs
- DocumentViewerBaseAutomationPeer.cs
- Int16Storage.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- HeaderElement.cs
- Application.cs
- WpfXamlType.cs
- Cloud.cs
- ToolStripRenderEventArgs.cs
- UnaryQueryOperator.cs
- XmlSchemaInferenceException.cs
- ObjectDataSource.cs
- PersonalizationProvider.cs
- path.cs
- ApplicationServiceManager.cs
- WinFormsSpinner.cs
- AppDomain.cs
- TemplateControlCodeDomTreeGenerator.cs
- DisableDpiAwarenessAttribute.cs
- XPathPatternParser.cs
- TextTreeFixupNode.cs
- EmbeddedMailObjectsCollection.cs
- XslAst.cs
- WebPermission.cs
- LinqToSqlWrapper.cs
- BrowserDefinitionCollection.cs
- _LoggingObject.cs
- OdbcEnvironment.cs
- PropertyValue.cs
- BadImageFormatException.cs
- DataColumnCollection.cs
- Paragraph.cs
- QueryOperatorEnumerator.cs
- BinHexEncoder.cs
- Oid.cs
- TraversalRequest.cs
- WorkflowQueuingService.cs
- GeometryCombineModeValidation.cs
- ExpandSegmentCollection.cs
- SelectionUIService.cs
- HttpCachePolicy.cs
- ZeroOpNode.cs
- CultureTable.cs
- PeerToPeerException.cs
- ContentDefinition.cs
- BorderGapMaskConverter.cs
- SoapFault.cs
- BuildManagerHost.cs
- _HTTPDateParse.cs
- SpecialFolderEnumConverter.cs
- DesignerActionUIService.cs
- PropertyBuilder.cs
- DuplicateWaitObjectException.cs
- CalendarDesigner.cs
- ErrorHandler.cs
- SettingsPropertyCollection.cs
- EntityContainerRelationshipSetEnd.cs
- GeometryModel3D.cs
- HostingEnvironmentWrapper.cs
- PersonalizationStateQuery.cs
- BitHelper.cs
- MaskedTextBoxDesigner.cs
- XPathNavigator.cs
- AuthenticationModulesSection.cs
- documentsequencetextcontainer.cs
- ArgumentException.cs
- ApplicationInfo.cs
- HwndSubclass.cs
- EventMappingSettingsCollection.cs
- WebPartEditorApplyVerb.cs
- ObjectMemberMapping.cs
- RequestFactory.cs
- JsonEncodingStreamWrapper.cs
- BulletChrome.cs
- IisTraceListener.cs
- RenderTargetBitmap.cs
- Helpers.cs
- SettingsBase.cs