Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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
- FrugalList.cs
- IndexedEnumerable.cs
- CommandLibraryHelper.cs
- _Rfc2616CacheValidators.cs
- SchemaComplexType.cs
- Vector3DAnimationBase.cs
- ListDictionaryInternal.cs
- ImageFormat.cs
- DataServiceHost.cs
- TdsParser.cs
- SystemIPGlobalStatistics.cs
- TraceContext.cs
- InkPresenterAutomationPeer.cs
- AutomationProperty.cs
- XsltSettings.cs
- MoveSizeWinEventHandler.cs
- StateItem.cs
- CompiledRegexRunner.cs
- InstanceCreationEditor.cs
- GeneralTransform3DGroup.cs
- SizeConverter.cs
- ProfileSection.cs
- ReceiveCompletedEventArgs.cs
- GradientStop.cs
- AttachedAnnotation.cs
- XPathExpr.cs
- AmbientValueAttribute.cs
- SchemaElement.cs
- RectangleGeometry.cs
- SizeAnimationUsingKeyFrames.cs
- Size.cs
- safesecurityhelperavalon.cs
- VolatileEnlistmentMultiplexing.cs
- EntitySqlQueryCacheKey.cs
- ECDiffieHellmanPublicKey.cs
- ProfileEventArgs.cs
- DataGridHeaderBorder.cs
- MultipleViewPattern.cs
- VirtualDirectoryMappingCollection.cs
- InputElement.cs
- RewritingProcessor.cs
- DataPager.cs
- SQLDecimalStorage.cs
- SplitterPanel.cs
- Messages.cs
- SchemaImporterExtension.cs
- OnOperation.cs
- BindingListCollectionView.cs
- StylusEditingBehavior.cs
- SQLDateTimeStorage.cs
- GetRecipientRequest.cs
- DetailsView.cs
- AttachedPropertiesService.cs
- HostedImpersonationContext.cs
- InvalidOleVariantTypeException.cs
- AddInServer.cs
- KeyInstance.cs
- StorageInfo.cs
- LinkUtilities.cs
- connectionpool.cs
- DataRowChangeEvent.cs
- PolygonHotSpot.cs
- ProtocolsConfigurationEntry.cs
- SizeAnimationUsingKeyFrames.cs
- XamlToRtfWriter.cs
- CustomError.cs
- CacheManager.cs
- BuildProviderCollection.cs
- RedirectionProxy.cs
- PassportIdentity.cs
- MenuAdapter.cs
- EntityContainer.cs
- CacheChildrenQuery.cs
- ActivitiesCollection.cs
- TypeDependencyAttribute.cs
- HwndProxyElementProvider.cs
- invalidudtexception.cs
- ExcCanonicalXml.cs
- WebSysDisplayNameAttribute.cs
- DesignerCommandSet.cs
- ConstraintConverter.cs
- ComponentChangingEvent.cs
- MultiAsyncResult.cs
- dbenumerator.cs
- LineUtil.cs
- ListViewGroupItemCollection.cs
- TaskHelper.cs
- ComponentDispatcherThread.cs
- AppAction.cs
- SessionConnectionReader.cs
- SHA256CryptoServiceProvider.cs
- BamlBinaryReader.cs
- SystemFonts.cs
- CompositeDataBoundControl.cs
- MarginsConverter.cs
- _OverlappedAsyncResult.cs
- EnumerableRowCollectionExtensions.cs
- XmlSchemaAppInfo.cs
- FixedSOMSemanticBox.cs
- WebBrowserDesigner.cs