Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 1305376 / 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
- InitializeCorrelation.cs
- ConstraintEnumerator.cs
- ModuleBuilder.cs
- glyphs.cs
- XPathParser.cs
- ResourceManager.cs
- XsltQilFactory.cs
- TextTreeRootTextBlock.cs
- sitestring.cs
- Rect.cs
- BuildResult.cs
- CacheChildrenQuery.cs
- DocumentManager.cs
- SafeEventHandle.cs
- PerformanceCounters.cs
- XmlElementAttributes.cs
- TransformedBitmap.cs
- BaseAsyncResult.cs
- WindowsGraphicsWrapper.cs
- Window.cs
- SqlClientWrapperSmiStream.cs
- XmlValidatingReader.cs
- CompModSwitches.cs
- WebPartEditorApplyVerb.cs
- CacheMemory.cs
- WebPartCatalogAddVerb.cs
- ToolStrip.cs
- DrawingContextDrawingContextWalker.cs
- GPStream.cs
- SoapCodeExporter.cs
- Int64Converter.cs
- SequenceDesigner.cs
- RectValueSerializer.cs
- LongTypeConverter.cs
- TokenBasedSetEnumerator.cs
- DataSetMappper.cs
- PanelDesigner.cs
- HttpTransportManager.cs
- QuaternionRotation3D.cs
- MimeParameter.cs
- ProfileGroupSettingsCollection.cs
- RequiredFieldValidator.cs
- MembershipUser.cs
- CodeDomSerializerException.cs
- StorageAssociationSetMapping.cs
- Package.cs
- SeekableReadStream.cs
- LayeredChannelFactory.cs
- SocketPermission.cs
- SqlXmlStorage.cs
- PageWrapper.cs
- WriterOutput.cs
- CollectionsUtil.cs
- InfiniteTimeSpanConverter.cs
- WindowsListBox.cs
- ObjectRef.cs
- safesecurityhelperavalon.cs
- tibetanshape.cs
- KeyTimeConverter.cs
- XPathScanner.cs
- TCPClient.cs
- SchemaNotation.cs
- XsltInput.cs
- XPathNodeHelper.cs
- OleDbWrapper.cs
- ViewCellSlot.cs
- ScrollProviderWrapper.cs
- IIS7UserPrincipal.cs
- ObjectQuery_EntitySqlExtensions.cs
- ToolstripProfessionalRenderer.cs
- BufferedStream.cs
- InternalTypeHelper.cs
- PreviewKeyDownEventArgs.cs
- Size3D.cs
- PaginationProgressEventArgs.cs
- DataPager.cs
- SiteMapNode.cs
- WeakEventManager.cs
- SemaphoreSlim.cs
- XPathScanner.cs
- PointConverter.cs
- DeviceContext2.cs
- Overlapped.cs
- ReflectionTypeLoadException.cs
- MimeFormImporter.cs
- UmAlQuraCalendar.cs
- RadialGradientBrush.cs
- Emitter.cs
- NameValueFileSectionHandler.cs
- DbException.cs
- DebugView.cs
- ParameterBuilder.cs
- OpenFileDialog.cs
- unsafenativemethodsother.cs
- HideDisabledControlAdapter.cs
- CommonProperties.cs
- UnmanagedMemoryStream.cs
- ComEventsMethod.cs
- BufferAllocator.cs
- JsonXmlDataContract.cs