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
- CultureSpecificStringDictionary.cs
- DBSqlParserTableCollection.cs
- BrowserInteropHelper.cs
- MessageQueueInstaller.cs
- TreeViewItem.cs
- BitmapEffectDrawing.cs
- FormsAuthenticationConfiguration.cs
- _SSPISessionCache.cs
- InspectionWorker.cs
- DataTransferEventArgs.cs
- codemethodreferenceexpression.cs
- X509PeerCertificateElement.cs
- EndpointDiscoveryMetadata11.cs
- PackageProperties.cs
- OdbcConnectionHandle.cs
- remotingproxy.cs
- UnionExpr.cs
- IChannel.cs
- BitmapEffectDrawingContent.cs
- WindowsEditBox.cs
- ExtensionFile.cs
- SystemIPInterfaceProperties.cs
- XmlSchemaType.cs
- WindowsAltTab.cs
- MessagePartSpecification.cs
- RSAPKCS1SignatureDeformatter.cs
- ProfileServiceManager.cs
- _StreamFramer.cs
- PriorityQueue.cs
- XmlSchemaSubstitutionGroup.cs
- DataGridViewCellEventArgs.cs
- ValidationVisibilityAttribute.cs
- ImageCodecInfoPrivate.cs
- TemplateEditingVerb.cs
- PropertyTabAttribute.cs
- WebColorConverter.cs
- DataServiceProviderMethods.cs
- DynamicMethod.cs
- CustomPopupPlacement.cs
- HMACSHA1.cs
- ProxyGenerator.cs
- MediaEntryAttribute.cs
- OuterGlowBitmapEffect.cs
- FilterableData.cs
- NullableDecimalMinMaxAggregationOperator.cs
- TableLayoutSettingsTypeConverter.cs
- ExpressionBinding.cs
- CacheDependency.cs
- X509CertificateTrustedIssuerElement.cs
- ProcessThread.cs
- RepeatEnumerable.cs
- WindowsHyperlink.cs
- Conditional.cs
- PlaceHolder.cs
- TextTreeTextElementNode.cs
- Tokenizer.cs
- MenuItemStyle.cs
- ViewLoader.cs
- AbstractExpressions.cs
- HtmlTextBoxAdapter.cs
- Byte.cs
- Durable.cs
- MulticastOption.cs
- BooleanFunctions.cs
- ReflectionPermission.cs
- StylusPlugInCollection.cs
- AppLevelCompilationSectionCache.cs
- DataGridViewRowCancelEventArgs.cs
- ToolboxComponentsCreatingEventArgs.cs
- BookmarkEventArgs.cs
- Emitter.cs
- BuilderElements.cs
- AspCompat.cs
- ConversionHelper.cs
- XmlDesignerDataSourceView.cs
- NotSupportedException.cs
- Vector3DValueSerializer.cs
- complextypematerializer.cs
- Polyline.cs
- _ShellExpression.cs
- ProxyWebPartConnectionCollection.cs
- GeometryConverter.cs
- CharStorage.cs
- DispatcherObject.cs
- RenderDataDrawingContext.cs
- CommandField.cs
- X509SecurityTokenAuthenticator.cs
- MemberRelationshipService.cs
- WorkflowServiceNamespace.cs
- RelationshipType.cs
- SyndicationCategory.cs
- BindingOperations.cs
- ToolStripComboBox.cs
- SessionStateSection.cs
- ErrorProvider.cs
- BaseValidator.cs
- ViewPort3D.cs
- FlowDocumentScrollViewer.cs
- ProtocolViolationException.cs
- ExtractorMetadata.cs