Code:
/ 4.0 / 4.0 / untmp / 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
- WebPartRestoreVerb.cs
- DoubleCollection.cs
- Animatable.cs
- ZipFileInfoCollection.cs
- DrawingGroupDrawingContext.cs
- util.cs
- NetworkInformationException.cs
- ReverseInheritProperty.cs
- CornerRadius.cs
- SelfIssuedAuthRSACryptoProvider.cs
- WebSysDefaultValueAttribute.cs
- CharEntityEncoderFallback.cs
- TdsParserStaticMethods.cs
- SoapFault.cs
- AsyncStreamReader.cs
- VirtualPath.cs
- Parsers.cs
- InkPresenterAutomationPeer.cs
- Int32Rect.cs
- KnownTypeHelper.cs
- Int16Converter.cs
- UnionCqlBlock.cs
- PrePrepareMethodAttribute.cs
- CodeDelegateCreateExpression.cs
- GlyphElement.cs
- DWriteFactory.cs
- PeerDuplexChannel.cs
- BaseParser.cs
- xamlnodes.cs
- IsolatedStorage.cs
- CommonRemoteMemoryBlock.cs
- RtfFormatStack.cs
- BufferedStream.cs
- HostedHttpTransportManager.cs
- ScriptDescriptor.cs
- TraceRecord.cs
- DropShadowBitmapEffect.cs
- DynamicDocumentPaginator.cs
- ChoiceConverter.cs
- RemoteWebConfigurationHost.cs
- DataBoundLiteralControl.cs
- ListChangedEventArgs.cs
- Form.cs
- RemoteWebConfigurationHost.cs
- LoopExpression.cs
- TableRow.cs
- PublishLicense.cs
- DiscoveryInnerClientAdhocCD1.cs
- HandlerFactoryWrapper.cs
- WebRequestModuleElementCollection.cs
- UIElement3D.cs
- ValidationErrorCollection.cs
- LocalizationParserHooks.cs
- SqlAliaser.cs
- DataChangedEventManager.cs
- ManipulationStartedEventArgs.cs
- HtmlProps.cs
- OdbcDataAdapter.cs
- Part.cs
- TailPinnedEventArgs.cs
- ProcessModelInfo.cs
- UpDownEvent.cs
- BuildProviderAppliesToAttribute.cs
- ProcessHostConfigUtils.cs
- ScriptReferenceBase.cs
- ConfigXmlCDataSection.cs
- StoryFragments.cs
- XsltException.cs
- SubMenuStyleCollection.cs
- ValidationRule.cs
- TextWriterEngine.cs
- ValueHandle.cs
- TypeExtensions.cs
- WebMessageBodyStyleHelper.cs
- AnnotationStore.cs
- PeerName.cs
- Button.cs
- SafeBitVector32.cs
- FileUpload.cs
- ConstrainedDataObject.cs
- PaperSource.cs
- DrawListViewItemEventArgs.cs
- WindowsGraphics2.cs
- KeySplineConverter.cs
- MimeTypePropertyAttribute.cs
- MonthChangedEventArgs.cs
- CacheSection.cs
- LinkButton.cs
- DrawingContext.cs
- SystemIcmpV6Statistics.cs
- EntityViewGenerator.cs
- DesignerSerializationVisibilityAttribute.cs
- UpdateRecord.cs
- RelationshipDetailsRow.cs
- WebConfigurationFileMap.cs
- _Events.cs
- ExpressionDumper.cs
- InplaceBitmapMetadataWriter.cs
- LoginViewDesigner.cs
- MimeMultiPart.cs