Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 1305376 / 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
- ClientConfigPaths.cs
- StopStoryboard.cs
- UICuesEvent.cs
- ZoomPercentageConverter.cs
- DateTimeSerializationSection.cs
- ModelProperty.cs
- ReadContentAsBinaryHelper.cs
- EmissiveMaterial.cs
- CodeDirectionExpression.cs
- GB18030Encoding.cs
- TreeWalker.cs
- GregorianCalendarHelper.cs
- Vector3DCollection.cs
- LayoutEngine.cs
- TabControlToolboxItem.cs
- PrintController.cs
- DbConnectionClosed.cs
- ExclusiveNamedPipeTransportManager.cs
- TableRowGroupCollection.cs
- TextRunTypographyProperties.cs
- _ConnectionGroup.cs
- Preprocessor.cs
- HasCopySemanticsAttribute.cs
- UnsafeNativeMethods.cs
- ResourceReferenceExpression.cs
- SizeFConverter.cs
- Stack.cs
- PointLightBase.cs
- WorkflowServiceHostFactory.cs
- SqlWriter.cs
- XmlSchemas.cs
- ExpressionBuilder.cs
- AQNBuilder.cs
- TrustSection.cs
- Positioning.cs
- BrushMappingModeValidation.cs
- InstalledFontCollection.cs
- ChooseAction.cs
- QuerySettings.cs
- RowsCopiedEventArgs.cs
- PlatformNotSupportedException.cs
- CheckoutException.cs
- ApplicationFileCodeDomTreeGenerator.cs
- HScrollProperties.cs
- DBConnection.cs
- ProcessHost.cs
- RowsCopiedEventArgs.cs
- UmAlQuraCalendar.cs
- QuaternionRotation3D.cs
- BinaryWriter.cs
- SqlNotificationEventArgs.cs
- WindowsGraphicsCacheManager.cs
- RelatedPropertyManager.cs
- XmlDataSourceDesigner.cs
- RunInstallerAttribute.cs
- ThrowHelper.cs
- ExceptionWrapper.cs
- CustomAttribute.cs
- TranslateTransform3D.cs
- GlyphRunDrawing.cs
- DataGridViewLinkCell.cs
- CodeArgumentReferenceExpression.cs
- XmlTextReader.cs
- BoundField.cs
- NetDataContractSerializer.cs
- MarshalDirectiveException.cs
- GeometryHitTestResult.cs
- SelectionItemProviderWrapper.cs
- StandardToolWindows.cs
- DataSourceView.cs
- Pkcs7Signer.cs
- VirtualPathUtility.cs
- EditorZone.cs
- HtmlTextBoxAdapter.cs
- Type.cs
- KoreanCalendar.cs
- RegularExpressionValidator.cs
- SQLResource.cs
- SchemaExporter.cs
- WebPartDescriptionCollection.cs
- ContainerControl.cs
- SettingsPropertyValue.cs
- TypeAccessException.cs
- StylusPointPropertyUnit.cs
- QueryAsyncResult.cs
- Grant.cs
- Decimal.cs
- PictureBox.cs
- CodeLinePragma.cs
- PTConverter.cs
- TerminatorSinks.cs
- StringBuilder.cs
- Unit.cs
- FamilyTypeface.cs
- XhtmlBasicLabelAdapter.cs
- SingleKeyFrameCollection.cs
- RegexCapture.cs
- BufferedWebEventProvider.cs
- SortKey.cs
- WebPartVerbsEventArgs.cs