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
- _TimerThread.cs
- Missing.cs
- JsonXmlDataContract.cs
- ErrorFormatterPage.cs
- UIAgentAsyncBeginRequest.cs
- SymDocumentType.cs
- IntegrationExceptionEventArgs.cs
- TargetConverter.cs
- XmlBinaryReader.cs
- MemoryMappedViewAccessor.cs
- SerializableAttribute.cs
- RelationshipConverter.cs
- WebServiceReceive.cs
- LocationSectionRecord.cs
- StrongName.cs
- RuleSetDialog.cs
- GraphicsPath.cs
- SchemaElement.cs
- SplayTreeNode.cs
- Crc32.cs
- DefaultPropertyAttribute.cs
- MouseGestureConverter.cs
- TextBreakpoint.cs
- Rotation3D.cs
- shaper.cs
- EventLogEntry.cs
- PartialArray.cs
- DependencyPropertyConverter.cs
- HttpModule.cs
- RenderCapability.cs
- WithParamAction.cs
- HyperLinkField.cs
- Point3DAnimation.cs
- PathSegment.cs
- PeekCompletedEventArgs.cs
- XmlAtomErrorReader.cs
- MessageProtectionOrder.cs
- WebScriptClientGenerator.cs
- SessionStateSection.cs
- WeakReferenceEnumerator.cs
- oledbmetadatacolumnnames.cs
- ExceptionUtil.cs
- SmiContext.cs
- EndpointIdentityExtension.cs
- CacheOutputQuery.cs
- TTSEngineProxy.cs
- ServiceObjectContainer.cs
- TemplateControlParser.cs
- HMACSHA384.cs
- MultipleViewProviderWrapper.cs
- CompensatableTransactionScopeActivityDesigner.cs
- SafeFileHandle.cs
- DictionaryEntry.cs
- Underline.cs
- SafeNativeMethods.cs
- PolicyException.cs
- AutomationTextAttribute.cs
- Boolean.cs
- PassportAuthenticationEventArgs.cs
- ListViewCancelEventArgs.cs
- QilIterator.cs
- ExclusiveTcpListener.cs
- TypedElement.cs
- CapacityStreamGeometryContext.cs
- Errors.cs
- CodeTypeOfExpression.cs
- NetworkAddressChange.cs
- HMACSHA384.cs
- AncestorChangedEventArgs.cs
- InnerItemCollectionView.cs
- XPathMessageFilterElementCollection.cs
- SignatureHelper.cs
- CachedBitmap.cs
- Label.cs
- DbSetClause.cs
- WebColorConverter.cs
- TraceSection.cs
- Constraint.cs
- ReflectTypeDescriptionProvider.cs
- CheckBoxRenderer.cs
- ProfileSettingsCollection.cs
- StreamGeometry.cs
- XmlSchemaSequence.cs
- TransferRequestHandler.cs
- ResizeGrip.cs
- QilParameter.cs
- Aes.cs
- ButtonFlatAdapter.cs
- StringToken.cs
- TrackingDataItem.cs
- Unit.cs
- EnumerationRangeValidationUtil.cs
- DiscoveryVersionConverter.cs
- TypeConverterAttribute.cs
- XsdBuildProvider.cs
- CompoundFileStorageReference.cs
- CanonicalXml.cs
- MessageAction.cs
- DetailsViewUpdatedEventArgs.cs
- ScrollViewerAutomationPeer.cs