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
- ResourceDefaultValueAttribute.cs
- AnimationClockResource.cs
- ToolStripRenderEventArgs.cs
- IdentityElement.cs
- validation.cs
- ActivationArguments.cs
- BindingMAnagerBase.cs
- StatusBarPanel.cs
- PropertyToken.cs
- StdValidatorsAndConverters.cs
- StrokeNodeEnumerator.cs
- RefExpr.cs
- PrintDialog.cs
- Byte.cs
- AnyAllSearchOperator.cs
- SizeF.cs
- SqlError.cs
- PropertyGeneratedEventArgs.cs
- PersonalizationEntry.cs
- ToolstripProfessionalRenderer.cs
- ZipFileInfoCollection.cs
- GenericWebPart.cs
- BuildResult.cs
- VerificationException.cs
- ControlCollection.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ApplicationBuildProvider.cs
- BitmapEffectrendercontext.cs
- ConfigUtil.cs
- InvokeSchedule.cs
- ItemPager.cs
- DiscoveryDocumentReference.cs
- Speller.cs
- MeasurementDCInfo.cs
- XmlImplementation.cs
- RegisteredScript.cs
- SecurityAppliedMessage.cs
- BuilderInfo.cs
- UnsafeNativeMethods.cs
- Manipulation.cs
- XmlLanguageConverter.cs
- PrivilegedConfigurationManager.cs
- EntityCommandCompilationException.cs
- IsolationInterop.cs
- WinFormsSpinner.cs
- COM2ColorConverter.cs
- StringReader.cs
- ProcessInfo.cs
- ObjectMaterializedEventArgs.cs
- DataServiceQueryException.cs
- DataGridViewColumnDesigner.cs
- GACMembershipCondition.cs
- CodeCompiler.cs
- updateconfighost.cs
- SqlBuffer.cs
- ToolStripDropDownButton.cs
- TypeInformation.cs
- SqlDataSourceCommandParser.cs
- SecurityAccessDeniedException.cs
- assertwrapper.cs
- DataGridAutoFormat.cs
- PassportAuthentication.cs
- FormDesigner.cs
- VirtualPathExtension.cs
- InstanceStoreQueryResult.cs
- CompensatableTransactionScopeActivity.cs
- PartialList.cs
- TimeManager.cs
- SmiEventSink_DeferedProcessing.cs
- ACE.cs
- HyperlinkAutomationPeer.cs
- RegexTree.cs
- TemplateInstanceAttribute.cs
- ObjectReaderCompiler.cs
- ToolStripProgressBar.cs
- ExpressionList.cs
- ConfigurationValues.cs
- Pen.cs
- WebConfigurationHost.cs
- ChineseLunisolarCalendar.cs
- securitymgrsite.cs
- DetailsViewInsertedEventArgs.cs
- ParserContext.cs
- BrowserCapabilitiesCompiler.cs
- SrgsOneOf.cs
- RoleManagerEventArgs.cs
- DynamicRenderer.cs
- DataGridViewColumnStateChangedEventArgs.cs
- ObjectDisposedException.cs
- GetPageNumberCompletedEventArgs.cs
- Sql8ConformanceChecker.cs
- SByte.cs
- DataViewManager.cs
- TextElementAutomationPeer.cs
- ThaiBuddhistCalendar.cs
- GenericsInstances.cs
- Rect3DValueSerializer.cs
- DesignTimeTemplateParser.cs
- ColorDialog.cs
- ButtonFieldBase.cs