Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 2 / 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
- NumericUpDownAccelerationCollection.cs
- Splitter.cs
- File.cs
- GuidConverter.cs
- NotCondition.cs
- StringExpressionSet.cs
- BrowserCapabilitiesFactory.cs
- XmlCharacterData.cs
- StorageBasedPackageProperties.cs
- PropertyToken.cs
- BitmapEffectOutputConnector.cs
- FamilyMapCollection.cs
- ScaleTransform3D.cs
- MatrixAnimationBase.cs
- documentsequencetextview.cs
- StructuredTypeEmitter.cs
- EncryptedKey.cs
- ADMembershipProvider.cs
- SqlTriggerContext.cs
- EntityClassGenerator.cs
- NativeMethods.cs
- StrongNameSignatureInformation.cs
- ConfigXmlComment.cs
- Propagator.JoinPropagator.cs
- mediaeventargs.cs
- InputMethodStateTypeInfo.cs
- ListViewItem.cs
- XmlJsonWriter.cs
- ServiceChannelProxy.cs
- AsymmetricKeyExchangeDeformatter.cs
- StrongNameMembershipCondition.cs
- InvalidFilterCriteriaException.cs
- _NTAuthentication.cs
- DispatchChannelSink.cs
- StylusPlugin.cs
- OrderedParallelQuery.cs
- XmlIterators.cs
- RequiredAttributeAttribute.cs
- PropertyManager.cs
- RequestQueue.cs
- JoinCqlBlock.cs
- DataGridViewTextBoxCell.cs
- XPathSelfQuery.cs
- CngKeyBlobFormat.cs
- SchemaSetCompiler.cs
- TiffBitmapDecoder.cs
- X509UI.cs
- ParseNumbers.cs
- SynchronizationScope.cs
- SerTrace.cs
- DataDocumentXPathNavigator.cs
- DbConnectionPoolCounters.cs
- ClientEventManager.cs
- _TimerThread.cs
- HtmlInputFile.cs
- NotifyInputEventArgs.cs
- RMEnrollmentPage2.cs
- mda.cs
- _NetRes.cs
- DataBindingCollectionConverter.cs
- XmlCountingReader.cs
- ClassValidator.cs
- cookie.cs
- SmiContextFactory.cs
- WebPartVerbsEventArgs.cs
- HttpListenerContext.cs
- ObjectQueryState.cs
- HyperlinkAutomationPeer.cs
- SafeFileMappingHandle.cs
- WorkerRequest.cs
- ToolbarAUtomationPeer.cs
- PerspectiveCamera.cs
- SpellerHighlightLayer.cs
- SizeFConverter.cs
- SequenceNumber.cs
- ElementsClipboardData.cs
- BooleanFacetDescriptionElement.cs
- ImportDesigner.xaml.cs
- InputMethodStateChangeEventArgs.cs
- SignerInfo.cs
- PropertyMapper.cs
- Double.cs
- FormViewDeletedEventArgs.cs
- PartialArray.cs
- PenThread.cs
- MobileErrorInfo.cs
- TrustLevelCollection.cs
- TypeInitializationException.cs
- SevenBitStream.cs
- TextFindEngine.cs
- SettingsBindableAttribute.cs
- XmlAttributeCollection.cs
- TypeDescriptionProvider.cs
- ErrorFormatterPage.cs
- HistoryEventArgs.cs
- Misc.cs
- SortDescription.cs
- Task.cs
- TimerExtension.cs
- StreamUpgradeInitiator.cs