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
- DataServiceClientException.cs
- QuerySettings.cs
- MessageAction.cs
- HTMLTextWriter.cs
- WebPartConnectionsCancelVerb.cs
- MetabaseServerConfig.cs
- ValidatedControlConverter.cs
- NavigationProgressEventArgs.cs
- AddInDeploymentState.cs
- SizeAnimationUsingKeyFrames.cs
- DrawingContext.cs
- AutoGeneratedField.cs
- ContentValidator.cs
- Pool.cs
- HandlerFactoryWrapper.cs
- TimeoutTimer.cs
- FrameworkObject.cs
- XsdCachingReader.cs
- xmlfixedPageInfo.cs
- PeerResolver.cs
- PathData.cs
- AssemblyBuilderData.cs
- MarkerProperties.cs
- HttpRuntime.cs
- AuthenticatedStream.cs
- ClientRolePrincipal.cs
- DiscardableAttribute.cs
- InstanceDescriptor.cs
- WebBaseEventKeyComparer.cs
- DbExpressionVisitor.cs
- SiteMapNodeItemEventArgs.cs
- CodeDelegateInvokeExpression.cs
- ApplicationException.cs
- TextTrailingWordEllipsis.cs
- CodeNamespace.cs
- TypeSemantics.cs
- AmbientValueAttribute.cs
- StorageConditionPropertyMapping.cs
- PositiveTimeSpanValidatorAttribute.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ToolStripTemplateNode.cs
- RelationshipConstraintValidator.cs
- ServiceDescriptionData.cs
- FacetValueContainer.cs
- DataRecord.cs
- __Filters.cs
- NativeMethods.cs
- XmlConverter.cs
- AppliedDeviceFiltersEditor.cs
- KeyedHashAlgorithm.cs
- BasicBrowserDialog.cs
- ConfigsHelper.cs
- Line.cs
- MobileErrorInfo.cs
- ContextInformation.cs
- BaseCAMarshaler.cs
- cookie.cs
- TextWriterTraceListener.cs
- EpmSyndicationContentDeSerializer.cs
- CodeMemberField.cs
- IsolatedStorageFilePermission.cs
- MissingFieldException.cs
- RemotingConfiguration.cs
- BindingSource.cs
- IndexedWhereQueryOperator.cs
- DocumentReferenceCollection.cs
- ObjectNavigationPropertyMapping.cs
- NativeMethodsCLR.cs
- DataControlFieldCell.cs
- PeerPresenceInfo.cs
- HtmlInputText.cs
- PropertyGridDesigner.cs
- SqlMethodAttribute.cs
- ArrowControl.xaml.cs
- FrameworkEventSource.cs
- NetCodeGroup.cs
- GeneralTransform3D.cs
- Helpers.cs
- TextServicesContext.cs
- CachedFontFamily.cs
- VirtualizedCellInfoCollection.cs
- CustomSignedXml.cs
- _WebProxyDataBuilder.cs
- BulletedListEventArgs.cs
- ThrowOnMultipleAssignment.cs
- TextPointerBase.cs
- TypeSemantics.cs
- RepeaterItem.cs
- MetadataUtilsSmi.cs
- DetailsViewUpdateEventArgs.cs
- PlatformCulture.cs
- FixedElement.cs
- SqlCachedBuffer.cs
- Baml2006ReaderSettings.cs
- SourceLocation.cs
- XmlReaderSettings.cs
- LocatorPart.cs
- DataColumnSelectionConverter.cs
- DynamicResourceExtensionConverter.cs
- CreateParams.cs