Code:
/ DotNET / DotNET / 8.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
- ExecutionScope.cs
- CacheModeValueSerializer.cs
- LiteralLink.cs
- NavigatorOutput.cs
- ViewgenContext.cs
- AuthenticationManager.cs
- WebPartZoneCollection.cs
- DocumentPageHost.cs
- PersistenceProviderElement.cs
- XmlBoundElement.cs
- XmlNode.cs
- DataGridColumnCollectionEditor.cs
- DesignerTransaction.cs
- TrackingMemoryStream.cs
- XmlTypeAttribute.cs
- StringValueConverter.cs
- CommandDevice.cs
- DesignerCatalogPartChrome.cs
- elementinformation.cs
- X509CertificateInitiatorClientCredential.cs
- BinHexDecoder.cs
- NameScopePropertyAttribute.cs
- BuildResultCache.cs
- WindowsStatusBar.cs
- ConnectionManagementElement.cs
- Pair.cs
- LayoutInformation.cs
- ParserHooks.cs
- ProtocolsConfigurationEntry.cs
- ImpersonationContext.cs
- DoubleConverter.cs
- RepeatButtonAutomationPeer.cs
- CodeTypeReferenceSerializer.cs
- SyntaxCheck.cs
- AssemblyAttributes.cs
- OleCmdHelper.cs
- PixelFormatConverter.cs
- Grammar.cs
- FlowLayoutSettings.cs
- GridViewRow.cs
- Int64.cs
- JoinTreeNode.cs
- ObjectItemAttributeAssemblyLoader.cs
- AsyncStreamReader.cs
- DateTimeFormatInfo.cs
- ObjectStateEntry.cs
- DataReaderContainer.cs
- RecordsAffectedEventArgs.cs
- EpmHelper.cs
- MethodToken.cs
- RepeaterItem.cs
- httpstaticobjectscollection.cs
- CodeVariableDeclarationStatement.cs
- TypeUtils.cs
- Common.cs
- ListViewAutomationPeer.cs
- AnnotationComponentManager.cs
- SQLInt32.cs
- AdCreatedEventArgs.cs
- SamlSecurityTokenAuthenticator.cs
- MimeXmlReflector.cs
- PenLineJoinValidation.cs
- CollaborationHelperFunctions.cs
- CompareInfo.cs
- TextViewBase.cs
- InlineUIContainer.cs
- TemplateLookupAction.cs
- RotateTransform3D.cs
- StoryFragments.cs
- ExceptionUtil.cs
- TrustManager.cs
- FocusWithinProperty.cs
- BuildProvider.cs
- NullableLongSumAggregationOperator.cs
- MultiSelectRootGridEntry.cs
- CurrentChangingEventManager.cs
- ComponentEditorForm.cs
- RequestQueryParser.cs
- WizardPanel.cs
- FormViewInsertEventArgs.cs
- CodeExporter.cs
- ContentDisposition.cs
- SQLUtility.cs
- InfoCardRSACryptoProvider.cs
- ToolboxComponentsCreatingEventArgs.cs
- DesignerTransaction.cs
- WebResponse.cs
- FtpWebRequest.cs
- TabControlCancelEvent.cs
- BlurBitmapEffect.cs
- ValidationPropertyAttribute.cs
- ValueExpressions.cs
- GregorianCalendar.cs
- RadioButtonPopupAdapter.cs
- CellCreator.cs
- XmlNullResolver.cs
- ProfileManager.cs
- CatalogZone.cs
- _NestedMultipleAsyncResult.cs
- CodeGotoStatement.cs