Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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
- ButtonStandardAdapter.cs
- DataGridViewColumnEventArgs.cs
- OSFeature.cs
- UserPreferenceChangedEventArgs.cs
- HtmlForm.cs
- ImageFormat.cs
- Transform3D.cs
- ToolBar.cs
- HotCommands.cs
- log.cs
- ScriptingWebServicesSectionGroup.cs
- XmlException.cs
- ServiceOperationListItem.cs
- IssuedTokenServiceCredential.cs
- XmlEncodedRawTextWriter.cs
- ValidationError.cs
- EditCommandColumn.cs
- DropTarget.cs
- Registry.cs
- ButtonFieldBase.cs
- ImpersonationOption.cs
- ScopelessEnumAttribute.cs
- SqlCommandSet.cs
- ApplicationFileParser.cs
- DataGridViewTopRowAccessibleObject.cs
- _ConnectionGroup.cs
- Configuration.cs
- _FtpControlStream.cs
- WebPartsPersonalization.cs
- TransactionState.cs
- Rotation3D.cs
- SqlDependencyUtils.cs
- Soap12ProtocolImporter.cs
- XmlDigitalSignatureProcessor.cs
- DataDesignUtil.cs
- BeginEvent.cs
- ServiceDebugBehavior.cs
- PathFigure.cs
- TablePatternIdentifiers.cs
- DataGridViewRowCollection.cs
- StatusBarDrawItemEvent.cs
- InkPresenterAutomationPeer.cs
- XamlInt32CollectionSerializer.cs
- TraceSection.cs
- DbParameterHelper.cs
- QilPatternVisitor.cs
- SecureStringHasher.cs
- ADRoleFactory.cs
- XNodeValidator.cs
- AnnotationAuthorChangedEventArgs.cs
- EditorPartCollection.cs
- SubMenuStyleCollection.cs
- ThemeableAttribute.cs
- _DisconnectOverlappedAsyncResult.cs
- ChannelListenerBase.cs
- TypedCompletedAsyncResult.cs
- XmlNodeReader.cs
- GcSettings.cs
- CollectionDataContract.cs
- UserPersonalizationStateInfo.cs
- SerializationHelper.cs
- Content.cs
- keycontainerpermission.cs
- XmlName.cs
- DataGridHeaderBorder.cs
- SizeConverter.cs
- IIS7UserPrincipal.cs
- ClickablePoint.cs
- ISAPIApplicationHost.cs
- TableRow.cs
- InputProcessorProfiles.cs
- ResumeStoryboard.cs
- DesignParameter.cs
- ReplacementText.cs
- RowBinding.cs
- RoleGroupCollection.cs
- CacheSection.cs
- ClientSideQueueItem.cs
- ProviderConnectionPoint.cs
- ByteStorage.cs
- AppSecurityManager.cs
- HttpRequestContext.cs
- TextParagraphCache.cs
- ContentIterators.cs
- RectValueSerializer.cs
- FormsAuthenticationUserCollection.cs
- OlePropertyStructs.cs
- ListViewPagedDataSource.cs
- MetadataArtifactLoader.cs
- TreeWalker.cs
- WebPartManagerInternals.cs
- Message.cs
- VisualStyleElement.cs
- XslTransform.cs
- BitmapEffectInputData.cs
- XsdCachingReader.cs
- DecoderNLS.cs
- AttachedAnnotation.cs
- AspCompat.cs
- XhtmlBasicCalendarAdapter.cs