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
- OleDbException.cs
- TemplateBamlTreeBuilder.cs
- MouseOverProperty.cs
- CatalogPartDesigner.cs
- WindowPattern.cs
- StyleSelector.cs
- BindValidationContext.cs
- HMAC.cs
- KeyValuePairs.cs
- SqlBulkCopyColumnMapping.cs
- SegmentTree.cs
- MetadataUtil.cs
- PackageController.cs
- TableCellAutomationPeer.cs
- TargetParameterCountException.cs
- WebPartConnectionsCloseVerb.cs
- ProtocolViolationException.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- XMLSyntaxException.cs
- Descriptor.cs
- FrameworkElementAutomationPeer.cs
- AssemblyBuilder.cs
- CapabilitiesState.cs
- RecognizerBase.cs
- TextEditorCharacters.cs
- smtpconnection.cs
- DataGridRow.cs
- FilteredAttributeCollection.cs
- DetailsViewInsertEventArgs.cs
- HelloOperationAsyncResult.cs
- WebSysDefaultValueAttribute.cs
- Line.cs
- ToolStripMenuItem.cs
- DataGridViewCellParsingEventArgs.cs
- ToolStripPanelRenderEventArgs.cs
- HttpHeaderCollection.cs
- SystemColors.cs
- PingReply.cs
- FacetEnabledSchemaElement.cs
- PointAnimationUsingPath.cs
- TableRow.cs
- Highlights.cs
- GenericWebPart.cs
- ItemChangedEventArgs.cs
- XmlSerializer.cs
- Closure.cs
- AsyncResult.cs
- DispatcherProcessingDisabled.cs
- ITreeGenerator.cs
- GeneralTransform.cs
- EntityDataReader.cs
- WebPartManager.cs
- HostedNamedPipeTransportManager.cs
- PersonalizationProviderCollection.cs
- EventLogTraceListener.cs
- RijndaelCryptoServiceProvider.cs
- BridgeDataReader.cs
- RuntimeComponentFilter.cs
- httpapplicationstate.cs
- SqlUserDefinedAggregateAttribute.cs
- UnsafeNativeMethods.cs
- NativeRecognizer.cs
- UnknownWrapper.cs
- BamlTreeNode.cs
- Control.cs
- ConfigurationValues.cs
- MarkupExtensionParser.cs
- RedistVersionInfo.cs
- MissingSatelliteAssemblyException.cs
- RIPEMD160Managed.cs
- DbQueryCommandTree.cs
- StringPropertyBuilder.cs
- MenuCommand.cs
- UnsafeNativeMethods.cs
- HttpListenerContext.cs
- DataControlLinkButton.cs
- _BasicClient.cs
- ComponentChangedEvent.cs
- ComponentDispatcher.cs
- SiteMapPathDesigner.cs
- EncryptedReference.cs
- DocComment.cs
- SqlVisitor.cs
- ToggleButtonAutomationPeer.cs
- keycontainerpermission.cs
- AuthenticatingEventArgs.cs
- XmlILIndex.cs
- EntitySqlQueryCacheEntry.cs
- SqlInfoMessageEvent.cs
- Validator.cs
- WebExceptionStatus.cs
- DrawingBrush.cs
- DirectoryObjectSecurity.cs
- ImpersonationContext.cs
- ControlPager.cs
- RegisterInfo.cs
- BaseConfigurationRecord.cs
- QueryExecutionOption.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- Stroke.cs