Code:
/ 4.0 / 4.0 / 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
- OnOperation.cs
- CustomExpression.cs
- PolicyStatement.cs
- SrgsDocumentParser.cs
- ScrollViewerAutomationPeer.cs
- InternalPermissions.cs
- DocumentViewerAutomationPeer.cs
- UrlMappingsModule.cs
- WrapPanel.cs
- ColumnResult.cs
- RecipientIdentity.cs
- SqlServices.cs
- DataGridLinkButton.cs
- TextRangeAdaptor.cs
- BuilderElements.cs
- SafeCertificateStore.cs
- ExceptionHelpers.cs
- ButtonFieldBase.cs
- RootBrowserWindowProxy.cs
- ManualResetEvent.cs
- DataGridViewCellStyleConverter.cs
- Control.cs
- BackgroundFormatInfo.cs
- X509Utils.cs
- GridItemCollection.cs
- ContentControl.cs
- ProxyElement.cs
- XmlSchemaSimpleContent.cs
- RuntimeConfigLKG.cs
- UpdateRecord.cs
- XMLSyntaxException.cs
- StaticSiteMapProvider.cs
- CheckBoxAutomationPeer.cs
- RequestSecurityTokenForGetBrowserToken.cs
- PointAnimationClockResource.cs
- NameValuePair.cs
- SubpageParagraph.cs
- CultureSpecificStringDictionary.cs
- CodeSnippetCompileUnit.cs
- NetworkCredential.cs
- ProtectedConfiguration.cs
- RemotingConfiguration.cs
- DocumentCollection.cs
- Encoding.cs
- SQLInt16Storage.cs
- GrammarBuilderWildcard.cs
- DrawListViewColumnHeaderEventArgs.cs
- WindowsScroll.cs
- ParseHttpDate.cs
- BitmapEffectInput.cs
- Annotation.cs
- ProtocolsConfiguration.cs
- _NestedMultipleAsyncResult.cs
- SecurityTokenTypes.cs
- DataSourceControl.cs
- XmlAtomErrorReader.cs
- DrawingContext.cs
- ExpandSegment.cs
- HwndKeyboardInputProvider.cs
- NeutralResourcesLanguageAttribute.cs
- TextCollapsingProperties.cs
- URLAttribute.cs
- GeneralTransform3D.cs
- ContextMenu.cs
- StreamGeometry.cs
- EmbossBitmapEffect.cs
- RelationalExpressions.cs
- ProfilePropertySettingsCollection.cs
- CommunicationException.cs
- HostedElements.cs
- TTSEngineTypes.cs
- TextBoxAutoCompleteSourceConverter.cs
- Win32Interop.cs
- OpCodes.cs
- DataSourceControlBuilder.cs
- DropTarget.cs
- GroupBoxAutomationPeer.cs
- InstanceData.cs
- DiagnosticSection.cs
- Int64AnimationUsingKeyFrames.cs
- FirstMatchCodeGroup.cs
- HelpKeywordAttribute.cs
- MetadataItemEmitter.cs
- DataTableReaderListener.cs
- SimpleBitVector32.cs
- TextProperties.cs
- CalendarDay.cs
- EntitySqlQueryCacheKey.cs
- XmlSchemaExternal.cs
- MenuItemCollection.cs
- _ProxyChain.cs
- DrawingContextWalker.cs
- Privilege.cs
- InternalRelationshipCollection.cs
- InstallerTypeAttribute.cs
- SqlServer2KCompatibilityCheck.cs
- DynamicEndpointElement.cs
- MemberDescriptor.cs
- EmptyTextWriter.cs
- DataSourceSerializationException.cs