Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 2 / 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
- SelectorAutomationPeer.cs
- CatalogPartChrome.cs
- IdleTimeoutMonitor.cs
- FastEncoderWindow.cs
- TypedRowGenerator.cs
- BinaryReader.cs
- PageFunction.cs
- DataSourceCache.cs
- FileNotFoundException.cs
- FactoryGenerator.cs
- SchemaTypeEmitter.cs
- coordinator.cs
- EntityViewContainer.cs
- Atom10FormatterFactory.cs
- DefaultAssemblyResolver.cs
- RtType.cs
- AncestorChangedEventArgs.cs
- SingleResultAttribute.cs
- MouseEvent.cs
- Journaling.cs
- HtmlLink.cs
- ProfileSettingsCollection.cs
- X509Certificate.cs
- GridViewColumnHeader.cs
- DocumentPageView.cs
- NotifyInputEventArgs.cs
- GridViewSortEventArgs.cs
- ExpandedWrapper.cs
- RowBinding.cs
- SqlXmlStorage.cs
- PerformanceCounterManager.cs
- ResourceProperty.cs
- DropDownList.cs
- UIElementParaClient.cs
- Graph.cs
- ParseElement.cs
- EventProviderWriter.cs
- SizeConverter.cs
- AssemblyInfo.cs
- RefreshEventArgs.cs
- FaultConverter.cs
- XhtmlBasicLabelAdapter.cs
- DuplicateWaitObjectException.cs
- MsmqReceiveParameters.cs
- KernelTypeValidation.cs
- StorageEntitySetMapping.cs
- SimpleWebHandlerParser.cs
- WebReferencesBuildProvider.cs
- ToolStripLabel.cs
- SessionPageStateSection.cs
- FieldBuilder.cs
- SqlFactory.cs
- MethodBody.cs
- SettingsPropertyWrongTypeException.cs
- CommonGetThemePartSize.cs
- XmlSerializationGeneratedCode.cs
- WorkflowExecutor.cs
- TickBar.cs
- ListControlStringCollectionEditor.cs
- GridEntryCollection.cs
- ComplexPropertyEntry.cs
- InternalDispatchObject.cs
- RepeatBehaviorConverter.cs
- DataServiceQuery.cs
- FamilyMap.cs
- MaxValueConverter.cs
- UnsafeNativeMethods.cs
- HMACMD5.cs
- TickBar.cs
- XmlSchemaValidator.cs
- Overlapped.cs
- LocalizableAttribute.cs
- Vector3DKeyFrameCollection.cs
- _DigestClient.cs
- InputBindingCollection.cs
- EntityContainerEmitter.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- WebControl.cs
- SiteMapProvider.cs
- FixedDocumentPaginator.cs
- ContractMethodInfo.cs
- ObjectStateEntry.cs
- AmbientLight.cs
- SqlAggregateChecker.cs
- JpegBitmapEncoder.cs
- FormsAuthentication.cs
- VSWCFServiceContractGenerator.cs
- SecurityDescriptor.cs
- ResourceProperty.cs
- Visual.cs
- DataRowView.cs
- TemplateBaseAction.cs
- LineUtil.cs
- WindowsListViewScroll.cs
- CachedRequestParams.cs
- PackagePartCollection.cs
- UnsafeNativeMethods.cs
- ThousandthOfEmRealPoints.cs
- DataFieldConverter.cs
- UidManager.cs