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
- RecognizerBase.cs
- log.cs
- ContractsBCL.cs
- URI.cs
- LogManagementAsyncResult.cs
- WindowsTab.cs
- ErrorFormatterPage.cs
- StrongNameMembershipCondition.cs
- ObjectFullSpanRewriter.cs
- NullableBoolConverter.cs
- Timer.cs
- SQLBinaryStorage.cs
- ImageField.cs
- StylusPlugin.cs
- ConfigurationLocationCollection.cs
- Single.cs
- SamlAuthorizationDecisionStatement.cs
- DataServiceBehavior.cs
- PackageRelationshipSelector.cs
- LambdaCompiler.Address.cs
- XmlWhitespace.cs
- Ops.cs
- ClosableStream.cs
- EditorPartCollection.cs
- OdbcFactory.cs
- MemberAssignmentAnalysis.cs
- MarshalByRefObject.cs
- XmlSchemaAppInfo.cs
- MissingFieldException.cs
- EmissiveMaterial.cs
- ZipIOLocalFileDataDescriptor.cs
- InvalidEnumArgumentException.cs
- RegisteredExpandoAttribute.cs
- BaseCollection.cs
- ToolStripTextBox.cs
- ValueQuery.cs
- PrintPreviewDialog.cs
- ConfigurationManagerHelperFactory.cs
- MemoryRecordBuffer.cs
- ScaleTransform3D.cs
- SmtpReplyReaderFactory.cs
- CodeVariableDeclarationStatement.cs
- XmlAtomicValue.cs
- SHA384.cs
- Deserializer.cs
- mediaeventshelper.cs
- SQLDateTimeStorage.cs
- BitmapEffectvisualstate.cs
- PeerApplication.cs
- Pen.cs
- XmlQueryCardinality.cs
- Rotation3DAnimation.cs
- DesignerActionPanel.cs
- ContextMenu.cs
- WebBaseEventKeyComparer.cs
- GenericRootAutomationPeer.cs
- InfoCardKeyedHashAlgorithm.cs
- ConversionHelper.cs
- MenuItem.cs
- StatusStrip.cs
- Codec.cs
- FtpWebRequest.cs
- ParameterBuilder.cs
- ObjectStateFormatter.cs
- Literal.cs
- XmlNullResolver.cs
- CodeAccessPermission.cs
- SessionState.cs
- SetterBaseCollection.cs
- EntityContainer.cs
- MissingManifestResourceException.cs
- AmbientEnvironment.cs
- ReflectionUtil.cs
- ContainerVisual.cs
- AppSecurityManager.cs
- PrivilegedConfigurationManager.cs
- WebPartCatalogAddVerb.cs
- ClientScriptManager.cs
- SerializableAttribute.cs
- DesignerDataStoredProcedure.cs
- CodeAttributeDeclaration.cs
- Rotation3DAnimation.cs
- ConnectionPoint.cs
- DeploymentSection.cs
- HostUtils.cs
- NativeMethods.cs
- ISFTagAndGuidCache.cs
- RoutingSection.cs
- ClonableStack.cs
- backend.cs
- Attributes.cs
- PagesChangedEventArgs.cs
- RegexFCD.cs
- WhileDesigner.cs
- IPEndPointCollection.cs
- WaveHeader.cs
- ZoneMembershipCondition.cs
- FormParameter.cs
- SchemaTypeEmitter.cs
- BulletedListEventArgs.cs