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
- AppearanceEditorPart.cs
- SqlProfileProvider.cs
- Decimal.cs
- RemoteWebConfigurationHost.cs
- SequentialActivityDesigner.cs
- XhtmlConformanceSection.cs
- DataGridColumnCollection.cs
- OletxTransactionHeader.cs
- CompositeFontInfo.cs
- RemoteHelper.cs
- HuffModule.cs
- CacheDependency.cs
- ManifestResourceInfo.cs
- ListMarkerLine.cs
- ArglessEventHandlerProxy.cs
- TrackingExtract.cs
- ProcessThreadCollection.cs
- UdpDiscoveryEndpoint.cs
- SortedList.cs
- HostingEnvironmentException.cs
- HMACRIPEMD160.cs
- HtmlTableCell.cs
- ConnectionPointConverter.cs
- DockProviderWrapper.cs
- SrgsRuleRef.cs
- ValidateNames.cs
- RemotingConfiguration.cs
- CommandEventArgs.cs
- Viewport3DVisual.cs
- DelegateBodyWriter.cs
- BitmapSource.cs
- WizardForm.cs
- TcpTransportElement.cs
- TabControlToolboxItem.cs
- RequestCachePolicyConverter.cs
- SimpleType.cs
- WorkflowInlining.cs
- IdnMapping.cs
- ColorBlend.cs
- ObjectPersistData.cs
- HtmlTableRowCollection.cs
- WebPartEditorApplyVerb.cs
- MetadataItem.cs
- SecurityElement.cs
- shaper.cs
- XmlSignificantWhitespace.cs
- SqlCacheDependency.cs
- EdmProviderManifest.cs
- WindowsToolbar.cs
- Vector3DConverter.cs
- WebPartDisplayMode.cs
- EasingKeyFrames.cs
- Error.cs
- TypeDescriptorContext.cs
- NavigatingCancelEventArgs.cs
- UnsafeNativeMethods.cs
- SynchronizationHandlesCodeDomSerializer.cs
- JournalEntry.cs
- CorrelationToken.cs
- printdlgexmarshaler.cs
- RequestCachingSection.cs
- UICuesEvent.cs
- BamlResourceContent.cs
- SimpleApplicationHost.cs
- FontNamesConverter.cs
- NetSectionGroup.cs
- NetworkStream.cs
- PagePropertiesChangingEventArgs.cs
- HashCodeCombiner.cs
- DataGridCommandEventArgs.cs
- Asn1IntegerConverter.cs
- BitmapEffect.cs
- ADMembershipUser.cs
- HttpProxyCredentialType.cs
- PageScaling.cs
- RuntimeHelpers.cs
- Console.cs
- Property.cs
- MimeBasePart.cs
- Filter.cs
- ProfessionalColorTable.cs
- XmlILOptimizerVisitor.cs
- RadioButtonRenderer.cs
- SqlDataSourceCache.cs
- Encoder.cs
- ClientRequest.cs
- BooleanAnimationUsingKeyFrames.cs
- WorkflowRuntime.cs
- TreeBuilderXamlTranslator.cs
- IconConverter.cs
- TextSpan.cs
- Expander.cs
- TableRowCollection.cs
- WebBrowserNavigatingEventHandler.cs
- CompensatableTransactionScopeActivityDesigner.cs
- BitmapFrame.cs
- ListItem.cs
- CurrentChangedEventManager.cs
- InstanceDescriptor.cs
- CompressedStack.cs