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
- EditorPartChrome.cs
- FilterQueryOptionExpression.cs
- SmtpMail.cs
- BaseUriHelper.cs
- LiteralSubsegment.cs
- Point3DAnimation.cs
- Label.cs
- securitycriticaldata.cs
- SQLDoubleStorage.cs
- ConnectionManagementElementCollection.cs
- BitmapEffectDrawingContextWalker.cs
- UInt32.cs
- WinFormsComponentEditor.cs
- Geometry.cs
- SmiMetaDataProperty.cs
- AnimationClockResource.cs
- InputLanguageProfileNotifySink.cs
- ScriptResourceAttribute.cs
- SimpleRecyclingCache.cs
- SqlBinder.cs
- RegexReplacement.cs
- StrokeNodeEnumerator.cs
- BinaryObjectInfo.cs
- PocoEntityKeyStrategy.cs
- TextTreeUndoUnit.cs
- SecurityTokenParameters.cs
- DeflateStream.cs
- SinglePageViewer.cs
- Utility.cs
- Group.cs
- PlatformNotSupportedException.cs
- Boolean.cs
- LogLogRecord.cs
- RowVisual.cs
- ControlAdapter.cs
- RuntimeConfig.cs
- SchemaImporterExtension.cs
- ScriptModule.cs
- httpserverutility.cs
- XLinq.cs
- recordstatefactory.cs
- SymbolEqualComparer.cs
- SapiRecoInterop.cs
- TriggerBase.cs
- MethodCallTranslator.cs
- httpstaticobjectscollection.cs
- FrameworkElementFactoryMarkupObject.cs
- IdentityNotMappedException.cs
- BypassElementCollection.cs
- StorageAssociationSetMapping.cs
- _ListenerResponseStream.cs
- ToolStripScrollButton.cs
- DSASignatureDeformatter.cs
- ScriptControlDescriptor.cs
- XmlFormatExtensionPrefixAttribute.cs
- HtmlTableRowCollection.cs
- KnownColorTable.cs
- MaterialGroup.cs
- PropertyMetadata.cs
- TraceRecords.cs
- AnimationClockResource.cs
- ObjectListDesigner.cs
- MoveSizeWinEventHandler.cs
- ScriptingSectionGroup.cs
- FrameworkTemplate.cs
- EntitySqlQueryCacheEntry.cs
- CannotUnloadAppDomainException.cs
- EmissiveMaterial.cs
- PropertyMap.cs
- OpacityConverter.cs
- TraceLog.cs
- Equal.cs
- SiteMapSection.cs
- WorkflowView.cs
- sqlstateclientmanager.cs
- HijriCalendar.cs
- SourceCollection.cs
- XslNumber.cs
- BamlStream.cs
- HyperLink.cs
- GlyphTypeface.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- BaseTreeIterator.cs
- ToolStripItemEventArgs.cs
- WriteableBitmap.cs
- RetrieveVirtualItemEventArgs.cs
- DataBoundControl.cs
- RangeValidator.cs
- FontCollection.cs
- WebPartZoneBase.cs
- WindowsEditBox.cs
- DbModificationClause.cs
- DocumentXmlWriter.cs
- ReadingWritingEntityEventArgs.cs
- FontInfo.cs
- QilValidationVisitor.cs
- WindowsScrollBarBits.cs
- FormsAuthenticationCredentials.cs
- UserNameSecurityTokenProvider.cs
- WebPartEditorCancelVerb.cs