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
- TextSelectionHighlightLayer.cs
- Membership.cs
- WebPartConnection.cs
- ProcessManager.cs
- RegionInfo.cs
- MTConfigUtil.cs
- Point.cs
- HierarchicalDataBoundControl.cs
- Splitter.cs
- SecondaryViewProvider.cs
- InfoCardRSACryptoProvider.cs
- Positioning.cs
- PropertyAccessVisitor.cs
- FloaterBaseParaClient.cs
- SqlEnums.cs
- TransactionInterop.cs
- TransformedBitmap.cs
- SqlReorderer.cs
- TextAction.cs
- RepeatBehaviorConverter.cs
- PointAnimation.cs
- MailWebEventProvider.cs
- WebZone.cs
- Typography.cs
- NavigationProgressEventArgs.cs
- ScrollBar.cs
- safemediahandle.cs
- ConnectionStringsExpressionBuilder.cs
- VisualStyleElement.cs
- RawStylusInputReport.cs
- CompilerGeneratedAttribute.cs
- TaskCanceledException.cs
- ToolStripOverflow.cs
- XPathException.cs
- BinaryFormatterWriter.cs
- JobCollate.cs
- EnumerableRowCollectionExtensions.cs
- ItemsPresenter.cs
- LocatorGroup.cs
- UIElement.cs
- SqlDataSourceCache.cs
- Columns.cs
- AutomationIdentifier.cs
- DataGridViewCellPaintingEventArgs.cs
- CustomValidator.cs
- StringFormat.cs
- XmlQueryRuntime.cs
- AssemblyResourceLoader.cs
- SweepDirectionValidation.cs
- BitmapEffectGroup.cs
- HtmlInputButton.cs
- PrePrepareMethodAttribute.cs
- XmlEntityReference.cs
- ScopedMessagePartSpecification.cs
- DbBuffer.cs
- Polyline.cs
- Variable.cs
- Win32PrintDialog.cs
- IsolatedStorageFile.cs
- MultipartIdentifier.cs
- Win32PrintDialog.cs
- ConfigXmlAttribute.cs
- ServiceHostingEnvironmentSection.cs
- MediaCommands.cs
- HtmlMeta.cs
- StreamReader.cs
- ValueSerializer.cs
- NavigationFailedEventArgs.cs
- XamlToRtfWriter.cs
- AtomMaterializerLog.cs
- XslVisitor.cs
- HttpCachePolicyElement.cs
- CalendarBlackoutDatesCollection.cs
- PageContent.cs
- DataGridViewRowCollection.cs
- DetailsViewActionList.cs
- DrawingImage.cs
- securestring.cs
- RelOps.cs
- XmlSchemaSet.cs
- LinearGradientBrush.cs
- ProcessProtocolHandler.cs
- BuildProvider.cs
- CompilationUtil.cs
- MenuItemBinding.cs
- PeerCollaborationPermission.cs
- Convert.cs
- DataServiceException.cs
- Part.cs
- dtdvalidator.cs
- ScriptingScriptResourceHandlerSection.cs
- DataGridViewComboBoxEditingControl.cs
- Compiler.cs
- HtmlInputButton.cs
- RSAOAEPKeyExchangeFormatter.cs
- BackStopAuthenticationModule.cs
- EdmComplexTypeAttribute.cs
- Base64Encoder.cs
- XmlSchemaIdentityConstraint.cs
- ColorAnimationBase.cs