Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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
- XmlSerializerOperationBehavior.cs
- PositiveTimeSpanValidator.cs
- PrivilegeNotHeldException.cs
- PrintPreviewDialog.cs
- SerializationHelper.cs
- SqlReferenceCollection.cs
- ToolboxItemFilterAttribute.cs
- XmlCharType.cs
- CreateUserWizard.cs
- FontFamilyConverter.cs
- Action.cs
- WebMethodAttribute.cs
- SqlEnums.cs
- TemplatedWizardStep.cs
- CharConverter.cs
- UiaCoreApi.cs
- ExceptionUtil.cs
- DebugHandleTracker.cs
- PackageController.cs
- GlobalEventManager.cs
- ImageCodecInfoPrivate.cs
- XmlQueryStaticData.cs
- HandledEventArgs.cs
- DataGridTableStyleMappingNameEditor.cs
- TextStore.cs
- SystemResourceKey.cs
- ServiceSecurityContext.cs
- SqlTopReducer.cs
- COM2IProvidePropertyBuilderHandler.cs
- StorageComplexPropertyMapping.cs
- TriggerCollection.cs
- HttpRuntimeSection.cs
- Util.cs
- RequestStatusBarUpdateEventArgs.cs
- SafeNativeMethods.cs
- XmlSchemaExternal.cs
- NumericUpDownAcceleration.cs
- SqlTypesSchemaImporter.cs
- FixedSOMTableRow.cs
- UnknownBitmapDecoder.cs
- PlainXmlSerializer.cs
- SelectionListDesigner.cs
- TemplatePartAttribute.cs
- QueryCursorEventArgs.cs
- WebPartsPersonalization.cs
- InstanceLockedException.cs
- WindowsContainer.cs
- ChildTable.cs
- TimeIntervalCollection.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- OdbcFactory.cs
- HWStack.cs
- SqlMultiplexer.cs
- AdCreatedEventArgs.cs
- TreeWalker.cs
- EdmToObjectNamespaceMap.cs
- X509SecurityTokenAuthenticator.cs
- PeerNameRecord.cs
- NonClientArea.cs
- ModelUtilities.cs
- bindurihelper.cs
- MethodBuilder.cs
- TypeElement.cs
- EnterpriseServicesHelper.cs
- XmlSerializerVersionAttribute.cs
- ClientConvert.cs
- CFGGrammar.cs
- FileUpload.cs
- TreeSet.cs
- StorageEndPropertyMapping.cs
- StringFormat.cs
- AutoGeneratedField.cs
- Point3DCollection.cs
- EventLogTraceListener.cs
- DependencySource.cs
- DeviceSpecific.cs
- SqlFormatter.cs
- _ScatterGatherBuffers.cs
- IndentedWriter.cs
- ToolStripRenderer.cs
- ColumnHeaderConverter.cs
- ObservableCollectionDefaultValueFactory.cs
- CacheMode.cs
- Point3DCollection.cs
- ResourceProviderFactory.cs
- ProgressChangedEventArgs.cs
- ArraySortHelper.cs
- VirtualPath.cs
- ToolZone.cs
- CipherData.cs
- ToolTip.cs
- DoubleLinkList.cs
- CodeTypeDelegate.cs
- Debug.cs
- DocumentXPathNavigator.cs
- RemoveStoryboard.cs
- FormViewActionList.cs
- DesignerSerializerAttribute.cs
- MethodInfo.cs
- DrawingContext.cs