Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TypedAsyncResult.cs
- PerspectiveCamera.cs
- MemoryFailPoint.cs
- IntellisenseTextBox.designer.cs
- SQLSingleStorage.cs
- ScriptingWebServicesSectionGroup.cs
- TextControlDesigner.cs
- ListBoxItemWrapperAutomationPeer.cs
- SecurityDescriptor.cs
- SafeRightsManagementSessionHandle.cs
- PlatformNotSupportedException.cs
- ObjectItemNoOpAssemblyLoader.cs
- XmlElement.cs
- XNameTypeConverter.cs
- DBAsyncResult.cs
- DataBoundControlHelper.cs
- WebBrowserBase.cs
- DragDrop.cs
- CompositeFontInfo.cs
- CodeDefaultValueExpression.cs
- TextTreeTextElementNode.cs
- StrongNamePublicKeyBlob.cs
- SignHashRequest.cs
- WebPart.cs
- TransformerConfigurationWizardBase.cs
- DataBoundControlAdapter.cs
- BezierSegment.cs
- Token.cs
- QilTargetType.cs
- BamlLocalizer.cs
- IntranetCredentialPolicy.cs
- OrderToken.cs
- ContentPlaceHolder.cs
- DnsPermission.cs
- X509Utils.cs
- ListViewDataItem.cs
- BitmapEffect.cs
- FileDetails.cs
- APCustomTypeDescriptor.cs
- ContentHostHelper.cs
- _NTAuthentication.cs
- XMLSyntaxException.cs
- TypeConverterValueSerializer.cs
- DefaultObjectMappingItemCollection.cs
- ContentOperations.cs
- AsyncCompletedEventArgs.cs
- CompensatableTransactionScopeActivity.cs
- PtsCache.cs
- ManagementClass.cs
- _Win32.cs
- InkSerializer.cs
- XmlElementAttribute.cs
- BulletChrome.cs
- MessageDecoder.cs
- FunctionQuery.cs
- DataGridLengthConverter.cs
- IndependentAnimationStorage.cs
- _ScatterGatherBuffers.cs
- SwitchLevelAttribute.cs
- X509CertificateInitiatorClientCredential.cs
- FontStretches.cs
- EncryptedHeaderXml.cs
- ListViewContainer.cs
- PeerServiceMessageContracts.cs
- ChannelManager.cs
- CompilerTypeWithParams.cs
- EnumMember.cs
- ResourceReferenceExpression.cs
- SessionStateUtil.cs
- SHA384Managed.cs
- XmlSerializationReader.cs
- SvcMapFileSerializer.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- NamespaceDecl.cs
- NativeMethods.cs
- InkCanvas.cs
- IPipelineRuntime.cs
- XmlNamespaceManager.cs
- VectorCollection.cs
- ExtensionFile.cs
- Pkcs9Attribute.cs
- SatelliteContractVersionAttribute.cs
- RSAProtectedConfigurationProvider.cs
- CustomAttributeBuilder.cs
- SecurityStandardsManager.cs
- ProxyWebPartConnectionCollection.cs
- MinMaxParagraphWidth.cs
- RijndaelManagedTransform.cs
- WmlObjectListAdapter.cs
- ListGeneralPage.cs
- TemplateContainer.cs
- RemotingSurrogateSelector.cs
- ConsumerConnectionPoint.cs
- SiteMapNodeCollection.cs
- AppDomainFactory.cs
- DispatchWrapper.cs
- Events.cs
- LeftCellWrapper.cs
- UniformGrid.cs
- AffineTransform3D.cs