Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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
- FontEmbeddingManager.cs
- Missing.cs
- x509store.cs
- ProfileModule.cs
- FragmentQueryKB.cs
- ExpandSegment.cs
- HtmlWindow.cs
- InfoCardTraceRecord.cs
- BlockCollection.cs
- ComNativeDescriptor.cs
- ContentTextAutomationPeer.cs
- PageCopyCount.cs
- XmlFormatWriterGenerator.cs
- Scripts.cs
- TTSVoice.cs
- CommentEmitter.cs
- TextModifier.cs
- DataGridViewCellLinkedList.cs
- ModuleBuilderData.cs
- ConstructorBuilder.cs
- CredentialCache.cs
- EventWaitHandleSecurity.cs
- TogglePatternIdentifiers.cs
- NegatedCellConstant.cs
- BooleanFunctions.cs
- ZoneButton.cs
- Event.cs
- CaseExpr.cs
- BitVector32.cs
- ContourSegment.cs
- SystemResources.cs
- ProcessModuleDesigner.cs
- Oid.cs
- StrongNameMembershipCondition.cs
- Scheduler.cs
- ComboBoxAutomationPeer.cs
- ScriptModule.cs
- DefaultTextStore.cs
- MergeExecutor.cs
- CounterCreationDataCollection.cs
- LambdaCompiler.Statements.cs
- WebRequestModulesSection.cs
- Clipboard.cs
- ListViewTableCell.cs
- CachedBitmap.cs
- OutputCacheSettings.cs
- TogglePatternIdentifiers.cs
- OrderedHashRepartitionEnumerator.cs
- RuntimeHandles.cs
- ContentElement.cs
- SystemNetHelpers.cs
- FlowThrottle.cs
- TemplateContent.cs
- EncoderFallback.cs
- NativeMethods.cs
- GeneralTransform3DTo2D.cs
- InfoCard.cs
- DirectionalLight.cs
- ManageRequest.cs
- CodeMethodInvokeExpression.cs
- GridViewSortEventArgs.cs
- MultipleViewPattern.cs
- ProjectedSlot.cs
- Delegate.cs
- XPathSingletonIterator.cs
- DataStorage.cs
- BasePattern.cs
- UserMapPath.cs
- PlatformCulture.cs
- datacache.cs
- Operator.cs
- ElementUtil.cs
- RoleManagerSection.cs
- UserUseLicenseDictionaryLoader.cs
- Clipboard.cs
- filewebrequest.cs
- ProfilePropertySettingsCollection.cs
- DocumentPageViewAutomationPeer.cs
- MultiView.cs
- AppliedDeviceFiltersDialog.cs
- StringFreezingAttribute.cs
- ModuleBuilderData.cs
- PropertyGridCommands.cs
- PaintEvent.cs
- ProcessInfo.cs
- KeySpline.cs
- ClientFactory.cs
- UIElement3DAutomationPeer.cs
- Emitter.cs
- TraceHwndHost.cs
- Transform3DGroup.cs
- DoubleCollectionValueSerializer.cs
- Grant.cs
- HttpHandlerAction.cs
- HScrollBar.cs
- EventDescriptorCollection.cs
- TraceHandlerErrorFormatter.cs
- SafeLibraryHandle.cs
- Reference.cs
- EditorBrowsableAttribute.cs