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
- BaseResourcesBuildProvider.cs
- Adorner.cs
- InstanceCollisionException.cs
- AsyncContentLoadedEventArgs.cs
- CategoryNameCollection.cs
- MarginsConverter.cs
- PnrpPeerResolverBindingElement.cs
- IsolatedStorageException.cs
- DefaultTraceListener.cs
- NoResizeSelectionBorderGlyph.cs
- ForceCopyBuildProvider.cs
- ProfilePropertyNameValidator.cs
- Crypto.cs
- CollectionConverter.cs
- ScriptComponentDescriptor.cs
- InputChannel.cs
- CommentAction.cs
- Camera.cs
- compensatingcollection.cs
- TPLETWProvider.cs
- Attributes.cs
- InputBinding.cs
- SubclassTypeValidator.cs
- BindingMemberInfo.cs
- SHA384Managed.cs
- CompilationSection.cs
- Int32EqualityComparer.cs
- XmlException.cs
- BigInt.cs
- sqlinternaltransaction.cs
- WebPartsPersonalization.cs
- OdbcDataReader.cs
- regiisutil.cs
- KnownTypes.cs
- BitmapEffectCollection.cs
- XmlCharCheckingWriter.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- RTLAwareMessageBox.cs
- FeatureSupport.cs
- ContentOperations.cs
- SafeProcessHandle.cs
- PixelFormats.cs
- InvalidFilterCriteriaException.cs
- HitTestWithPointDrawingContextWalker.cs
- MemberInfoSerializationHolder.cs
- Visual3D.cs
- XPathDocumentIterator.cs
- DispatcherEventArgs.cs
- XmlWriterDelegator.cs
- FileFormatException.cs
- Paragraph.cs
- ContextDataSource.cs
- CanExecuteRoutedEventArgs.cs
- iisPickupDirectory.cs
- RoleGroupCollection.cs
- RadioButton.cs
- ControlPaint.cs
- SubpageParagraph.cs
- ProfileProvider.cs
- FillErrorEventArgs.cs
- StyleSheetDesigner.cs
- SystemEvents.cs
- TemplateControlParser.cs
- PowerEase.cs
- counter.cs
- BatchParser.cs
- DiscoveryInnerClientManaged11.cs
- WindowsScroll.cs
- UrlAuthorizationModule.cs
- InputLanguageSource.cs
- FormatterServicesNoSerializableCheck.cs
- Graph.cs
- EnvironmentPermission.cs
- ToolBarButton.cs
- HttpProfileBase.cs
- Label.cs
- TargetConverter.cs
- EncodedStreamFactory.cs
- FloaterBaseParagraph.cs
- AttributeEmitter.cs
- MultiBindingExpression.cs
- BStrWrapper.cs
- DataGridViewRowsAddedEventArgs.cs
- _Rfc2616CacheValidators.cs
- PropertyAccessVisitor.cs
- COM2IDispatchConverter.cs
- TextLine.cs
- DocumentReference.cs
- XmlSchemaSimpleTypeRestriction.cs
- ElementHostPropertyMap.cs
- StringUtil.cs
- ProcessModelInfo.cs
- NeutralResourcesLanguageAttribute.cs
- OrderedEnumerableRowCollection.cs
- TextCollapsingProperties.cs
- _Events.cs
- XhtmlConformanceSection.cs
- TextBoxBase.cs
- WriterOutput.cs
- FilterRepeater.cs