Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ListMarkerLine.cs
- RSAPKCS1SignatureFormatter.cs
- DiagnosticStrings.cs
- XPathItem.cs
- CommonRemoteMemoryBlock.cs
- ConfigurationManagerInternalFactory.cs
- FloatUtil.cs
- ContainerControlDesigner.cs
- Hex.cs
- HttpApplicationStateBase.cs
- StringExpressionSet.cs
- UriTemplateMatch.cs
- QueueProcessor.cs
- ListView.cs
- Compilation.cs
- MemberExpression.cs
- DataQuery.cs
- processwaithandle.cs
- StorageMappingItemLoader.cs
- WsdlImporter.cs
- GridViewRowCollection.cs
- SoapCodeExporter.cs
- ConfigXmlElement.cs
- SqlBooleanMismatchVisitor.cs
- AutoResetEvent.cs
- arclist.cs
- UseLicense.cs
- GifBitmapDecoder.cs
- MailBnfHelper.cs
- ObjectStateFormatter.cs
- WindowsListViewItemCheckBox.cs
- StdValidatorsAndConverters.cs
- StrokeNode.cs
- SeverityFilter.cs
- AttributeProviderAttribute.cs
- OracleEncoding.cs
- ConfigurationSectionGroup.cs
- CursorEditor.cs
- BaseTreeIterator.cs
- InstancePersistenceContext.cs
- NetCodeGroup.cs
- HwndMouseInputProvider.cs
- ShellProvider.cs
- SqlUdtInfo.cs
- XmlSignatureProperties.cs
- PointCollection.cs
- TypeUtil.cs
- SqlAggregateChecker.cs
- OdbcParameterCollection.cs
- Label.cs
- Utils.cs
- Type.cs
- SystemColors.cs
- DrawingBrush.cs
- XmlChildEnumerator.cs
- Schema.cs
- VScrollProperties.cs
- PathTooLongException.cs
- CreateUserWizard.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ByteAnimation.cs
- HistoryEventArgs.cs
- WebPartCatalogCloseVerb.cs
- ModelVisual3D.cs
- DataGridTableCollection.cs
- PageOrientation.cs
- TransformedBitmap.cs
- CacheAxisQuery.cs
- OrthographicCamera.cs
- TableLayoutStyleCollection.cs
- MostlySingletonList.cs
- XmlRawWriterWrapper.cs
- ProxyBuilder.cs
- KoreanCalendar.cs
- HandlerBase.cs
- X509Extension.cs
- ButtonBase.cs
- TabControlAutomationPeer.cs
- GridViewEditEventArgs.cs
- LoginUtil.cs
- TypeListConverter.cs
- xdrvalidator.cs
- MergablePropertyAttribute.cs
- UIElementParagraph.cs
- EditingCoordinator.cs
- QilExpression.cs
- ZoomPercentageConverter.cs
- HtmlMeta.cs
- ToolStripItemEventArgs.cs
- AssemblyCollection.cs
- EdmError.cs
- CompatibleComparer.cs
- LogEntryHeaderSerializer.cs
- Context.cs
- RequiredFieldValidator.cs
- StyleSelector.cs
- Expression.DebuggerProxy.cs
- DetailsViewModeEventArgs.cs
- PackUriHelper.cs
- ProcessInfo.cs