Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- InvokeDelegate.cs
- Guid.cs
- DecoderExceptionFallback.cs
- NumberSubstitution.cs
- DataGridComponentEditor.cs
- ObjRef.cs
- PackageDigitalSignature.cs
- DesignRelationCollection.cs
- Relationship.cs
- QueryInterceptorAttribute.cs
- XmlDocumentSerializer.cs
- UIElementCollection.cs
- NullRuntimeConfig.cs
- CalendarDay.cs
- BooleanExpr.cs
- XmlAttributeCollection.cs
- CardSpaceSelector.cs
- Random.cs
- DropShadowBitmapEffect.cs
- BaseDataBoundControl.cs
- BigInt.cs
- HtmlInputRadioButton.cs
- _NestedSingleAsyncResult.cs
- AdornerPresentationContext.cs
- ComponentResourceKeyConverter.cs
- Mapping.cs
- SqlNotificationRequest.cs
- ServiceHostFactory.cs
- PropagatorResult.cs
- SqlCommandSet.cs
- RecognizerStateChangedEventArgs.cs
- ComplexObject.cs
- ClientProxyGenerator.cs
- IntranetCredentialPolicy.cs
- OracleEncoding.cs
- PagesChangedEventArgs.cs
- EmptyArray.cs
- GridViewRow.cs
- RadialGradientBrush.cs
- FileDialog.cs
- SimpleMailWebEventProvider.cs
- GradientSpreadMethodValidation.cs
- ScrollProperties.cs
- PenLineJoinValidation.cs
- WmfPlaceableFileHeader.cs
- DataGridToolTip.cs
- Clipboard.cs
- XmlToDatasetMap.cs
- HttpCacheVary.cs
- DialogResultConverter.cs
- WaitForChangedResult.cs
- Int16AnimationBase.cs
- TraceContextEventArgs.cs
- WebPart.cs
- MissingManifestResourceException.cs
- OTFRasterizer.cs
- XmlDocumentSerializer.cs
- ResourceAssociationSetEnd.cs
- Reference.cs
- PointHitTestParameters.cs
- xsdvalidator.cs
- HtmlSelect.cs
- RouteValueDictionary.cs
- TraceData.cs
- InternalDuplexChannelListener.cs
- XmlAutoDetectWriter.cs
- WSHttpBinding.cs
- XPathCompiler.cs
- Paragraph.cs
- DataBoundLiteralControl.cs
- TypedElement.cs
- ClonableStack.cs
- EncryptedHeaderXml.cs
- HwndAppCommandInputProvider.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- XmlSortKey.cs
- IsolatedStoragePermission.cs
- RoleManagerSection.cs
- TextDataBindingHandler.cs
- ISAPIRuntime.cs
- OrderPreservingSpoolingTask.cs
- WebBrowsableAttribute.cs
- SetterTriggerConditionValueConverter.cs
- TypeNameConverter.cs
- Base64Stream.cs
- AssemblyResourceLoader.cs
- Publisher.cs
- DesignerVerbCollection.cs
- PolyLineSegment.cs
- SharedDp.cs
- DebugInfoGenerator.cs
- MapPathBasedVirtualPathProvider.cs
- HotSpot.cs
- LinkClickEvent.cs
- FixedHyperLink.cs
- XmlHierarchyData.cs
- Bind.cs
- HtmlControl.cs
- HighContrastHelper.cs
- RC2.cs