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
- LocatorManager.cs
- ClientSettings.cs
- ZipIOLocalFileBlock.cs
- VisualTarget.cs
- GenericIdentity.cs
- DataSourceHelper.cs
- OpCellTreeNode.cs
- CellTreeNode.cs
- TypeEnumerableViewSchema.cs
- TextAutomationPeer.cs
- NativeMethods.cs
- CreateParams.cs
- BitmapEffectDrawingContextState.cs
- Sequence.cs
- AdRotator.cs
- TextParagraphCache.cs
- OrderedDictionary.cs
- ListViewDeletedEventArgs.cs
- ListView.cs
- Label.cs
- ResourceReferenceExpressionConverter.cs
- RowCache.cs
- MimeMultiPart.cs
- SoapExtensionTypeElement.cs
- PropertyPath.cs
- DiscreteKeyFrames.cs
- ProviderSettingsCollection.cs
- PrimitiveXmlSerializers.cs
- MetaModel.cs
- Dispatcher.cs
- XpsFontSerializationService.cs
- NonBatchDirectoryCompiler.cs
- OpenFileDialog.cs
- PagePropertiesChangingEventArgs.cs
- Emitter.cs
- ReadWriteObjectLock.cs
- WebBaseEventKeyComparer.cs
- DataServiceRequest.cs
- DefaultAsyncDataDispatcher.cs
- ExpressionBuilder.cs
- ViewService.cs
- RowToFieldTransformer.cs
- LineBreakRecord.cs
- URLString.cs
- Queue.cs
- UdpChannelListener.cs
- MSHTMLHostUtil.cs
- XpsSerializationManager.cs
- ResourceLoader.cs
- Bezier.cs
- XPathMultyIterator.cs
- SqlCharStream.cs
- SequenceDesigner.cs
- ConstNode.cs
- BaseCollection.cs
- WebPartMinimizeVerb.cs
- ConstantSlot.cs
- Win32Exception.cs
- ChangeConflicts.cs
- NextPreviousPagerField.cs
- VBIdentifierName.cs
- Section.cs
- DataSourceControl.cs
- ChangeDirector.cs
- HttpApplication.cs
- TypeUnloadedException.cs
- RegexCaptureCollection.cs
- bidPrivateBase.cs
- ThousandthOfEmRealDoubles.cs
- FormatVersion.cs
- PassportIdentity.cs
- GroupItemAutomationPeer.cs
- XmlAnyElementAttributes.cs
- httpstaticobjectscollection.cs
- PeerNearMe.cs
- FrameworkTextComposition.cs
- DescendentsWalker.cs
- BevelBitmapEffect.cs
- ParameterCollection.cs
- TransformDescriptor.cs
- DecoderBestFitFallback.cs
- Exceptions.cs
- ISCIIEncoding.cs
- PassportAuthenticationEventArgs.cs
- ConfigXmlComment.cs
- SqlReferenceCollection.cs
- BaseCodePageEncoding.cs
- StrokeNodeData.cs
- IChannel.cs
- xdrvalidator.cs
- BeginEvent.cs
- ClientSideQueueItem.cs
- EventlogProvider.cs
- OperationPerformanceCounters.cs
- ConstNode.cs
- Menu.cs
- AnimatedTypeHelpers.cs
- AxisAngleRotation3D.cs
- odbcmetadatafactory.cs
- UnsupportedPolicyOptionsException.cs