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
- DataGridViewColumnConverter.cs
- RsaSecurityTokenParameters.cs
- SrgsGrammar.cs
- XmlImplementation.cs
- DataGridViewRowPrePaintEventArgs.cs
- ValidationSummary.cs
- DataColumnChangeEvent.cs
- ClrProviderManifest.cs
- NetworkInformationException.cs
- Win32.cs
- Globals.cs
- SqlConnectionString.cs
- DoWorkEventArgs.cs
- RepeaterItem.cs
- ControlFilterExpression.cs
- DrawingGroup.cs
- StatusBarDrawItemEvent.cs
- DefaultWorkflowTransactionService.cs
- MaterialGroup.cs
- CapiHashAlgorithm.cs
- ClientUtils.cs
- LayoutEngine.cs
- Simplifier.cs
- Assembly.cs
- TreeView.cs
- GAC.cs
- MsmqInputChannelListenerBase.cs
- VoiceSynthesis.cs
- InfoCardMasterKey.cs
- QilList.cs
- ScrollChrome.cs
- PreservationFileReader.cs
- AuthorizationRuleCollection.cs
- basenumberconverter.cs
- Splitter.cs
- Serializer.cs
- SchemaContext.cs
- BitmapEffectvisualstate.cs
- OleDbCommand.cs
- PerformanceCounter.cs
- DataGridTableCollection.cs
- ToolstripProfessionalRenderer.cs
- FormViewUpdateEventArgs.cs
- RunInstallerAttribute.cs
- DesignerForm.cs
- KnownBoxes.cs
- HttpException.cs
- FormatConvertedBitmap.cs
- JpegBitmapDecoder.cs
- SystemResourceHost.cs
- Context.cs
- BufferBuilder.cs
- ToolstripProfessionalRenderer.cs
- MembershipValidatePasswordEventArgs.cs
- MatrixUtil.cs
- GlobalizationAssembly.cs
- RoleManagerEventArgs.cs
- SynchronizationLockException.cs
- SrgsItemList.cs
- RecordBuilder.cs
- RelatedEnd.cs
- DataObjectEventArgs.cs
- DbExpressionVisitor_TResultType.cs
- XNodeValidator.cs
- xamlnodes.cs
- SelectionRange.cs
- FixedSOMPage.cs
- SrgsDocument.cs
- __Error.cs
- SequentialOutput.cs
- InternalControlCollection.cs
- Classification.cs
- EventLogTraceListener.cs
- StickyNote.cs
- GeneralTransform2DTo3D.cs
- MgmtResManager.cs
- NavigationProperty.cs
- FontFamilyValueSerializer.cs
- RewritingSimplifier.cs
- HtmlTableCellCollection.cs
- ScriptingProfileServiceSection.cs
- StreamGeometryContext.cs
- EditorBrowsableAttribute.cs
- SoapSchemaMember.cs
- Exceptions.cs
- DataDocumentXPathNavigator.cs
- XmlSchemaObjectCollection.cs
- StrongNamePublicKeyBlob.cs
- WS2007FederationHttpBindingElement.cs
- Currency.cs
- SocketSettings.cs
- ForwardPositionQuery.cs
- ListenerConnectionDemuxer.cs
- StylusTip.cs
- WS2007HttpBindingCollectionElement.cs
- CategoryNameCollection.cs
- JsonServiceDocumentSerializer.cs
- StatusBarDrawItemEvent.cs
- MappingItemCollection.cs
- HttpRequest.cs