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
- AdRotator.cs
- ImageCodecInfo.cs
- SecureConversationSecurityTokenParameters.cs
- DocumentGrid.cs
- AssemblySettingAttributes.cs
- ToolboxComponentsCreatedEventArgs.cs
- Pair.cs
- Tracer.cs
- ObjectResult.cs
- StrongNameKeyPair.cs
- WindowsButton.cs
- FamilyMap.cs
- WasEndpointConfigContainer.cs
- UnsafeNativeMethods.cs
- ExtractedStateEntry.cs
- AnnotationResourceChangedEventArgs.cs
- MetadataItem.cs
- SqlMethodAttribute.cs
- InstanceLockException.cs
- cryptoapiTransform.cs
- SoapCodeExporter.cs
- DbDataSourceEnumerator.cs
- XmlElementCollection.cs
- HebrewCalendar.cs
- Freezable.cs
- ArrowControl.xaml.cs
- TypeLibConverter.cs
- RolePrincipal.cs
- InstancePersistenceCommand.cs
- AxisAngleRotation3D.cs
- TypeUtil.cs
- DateTimeFormatInfo.cs
- Msec.cs
- Sql8ExpressionRewriter.cs
- ModifierKeysConverter.cs
- KeyboardNavigation.cs
- VersionedStreamOwner.cs
- SerializerDescriptor.cs
- WindowsGraphicsCacheManager.cs
- CLRBindingWorker.cs
- TableHeaderCell.cs
- AmbientValueAttribute.cs
- XmlValidatingReader.cs
- OpacityConverter.cs
- OciLobLocator.cs
- smtppermission.cs
- ServerType.cs
- SqlEnums.cs
- XmlSchemaFacet.cs
- LineBreakRecord.cs
- wpf-etw.cs
- Model3DCollection.cs
- XmlProcessingInstruction.cs
- MD5HashHelper.cs
- TextRangeSerialization.cs
- Currency.cs
- CalendarDay.cs
- ContainerParagraph.cs
- ContainerAction.cs
- RenderDataDrawingContext.cs
- SecondaryIndex.cs
- TTSEngineProxy.cs
- XmlObjectSerializerReadContext.cs
- SubMenuStyle.cs
- Vector.cs
- RegexGroupCollection.cs
- GeometryCollection.cs
- PathFigure.cs
- SmiTypedGetterSetter.cs
- JavaScriptSerializer.cs
- IndicShape.cs
- RecordsAffectedEventArgs.cs
- XmlCountingReader.cs
- WebPartDescriptionCollection.cs
- StyleBamlTreeBuilder.cs
- TableParaClient.cs
- RepeatButton.cs
- SiteMembershipCondition.cs
- Debug.cs
- OptimizedTemplateContentHelper.cs
- InkCollectionBehavior.cs
- XmlSerializer.cs
- OleAutBinder.cs
- NavigationService.cs
- RelOps.cs
- CompareInfo.cs
- GeneralTransformCollection.cs
- ValueType.cs
- XsltException.cs
- VerificationAttribute.cs
- PersonalizablePropertyEntry.cs
- ProgressiveCrcCalculatingStream.cs
- SqlDataSourceQueryEditorForm.cs
- MetadataHelper.cs
- GradientStopCollection.cs
- listitem.cs
- ServerIdentity.cs
- CipherData.cs
- _Events.cs
- UniqueSet.cs