Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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
- WebPartPersonalization.cs
- DocumentAutomationPeer.cs
- HttpRuntimeSection.cs
- TransactionManager.cs
- FileLogRecordStream.cs
- CSharpCodeProvider.cs
- TaskFormBase.cs
- Assert.cs
- Queue.cs
- COM2Enum.cs
- WindowsRebar.cs
- XamlGridLengthSerializer.cs
- IncrementalHitTester.cs
- ADMembershipProvider.cs
- StringComparer.cs
- SimpleMailWebEventProvider.cs
- ImageConverter.cs
- HatchBrush.cs
- QilInvoke.cs
- FormViewInsertEventArgs.cs
- RegexTypeEditor.cs
- ISAPIWorkerRequest.cs
- HttpListenerRequest.cs
- SchemaImporter.cs
- ReadOnlyDictionary.cs
- JournalEntryStack.cs
- WorkflowServiceHost.cs
- DbConnectionOptions.cs
- CoreSwitches.cs
- KeyTime.cs
- CqlLexerHelpers.cs
- PenThread.cs
- Menu.cs
- DetailsViewModeEventArgs.cs
- AbandonedMutexException.cs
- EncryptedPackageFilter.cs
- TimeSpanStorage.cs
- NamespaceEmitter.cs
- ServiceDescriptions.cs
- ViewPort3D.cs
- ImageAnimator.cs
- PageSettings.cs
- ObjectHandle.cs
- PolicyValidationException.cs
- CommentAction.cs
- SqlConnectionString.cs
- SqlBulkCopy.cs
- Roles.cs
- ToolStripPanel.cs
- XamlTreeBuilder.cs
- SiteMembershipCondition.cs
- DataReaderContainer.cs
- ConnectionManagementElementCollection.cs
- DbParameterHelper.cs
- MediaContextNotificationWindow.cs
- XPathChildIterator.cs
- FileIOPermission.cs
- MaskedTextProvider.cs
- PluralizationService.cs
- DockPatternIdentifiers.cs
- InvokeSchedule.cs
- GenericAuthenticationEventArgs.cs
- DefaultClaimSet.cs
- PrtTicket_Editor.cs
- BamlReader.cs
- BasicCommandTreeVisitor.cs
- DispatcherOperation.cs
- MimeParameterWriter.cs
- SoapAttributes.cs
- TransformPattern.cs
- DataSysAttribute.cs
- TextDpi.cs
- UrlPath.cs
- MonthCalendar.cs
- OAVariantLib.cs
- EndpointIdentityExtension.cs
- prompt.cs
- GACMembershipCondition.cs
- UndoEngine.cs
- CompiledRegexRunnerFactory.cs
- NetStream.cs
- DiscoveryMessageSequenceCD1.cs
- ContentType.cs
- ContextMenuStripGroup.cs
- VariableModifiersHelper.cs
- ConditionCollection.cs
- TileBrush.cs
- EditCommandColumn.cs
- DBSqlParserTableCollection.cs
- UnsafeNativeMethods.cs
- DataPointer.cs
- DelayedRegex.cs
- WorkflowRuntimeServiceElement.cs
- FusionWrap.cs
- ISSmlParser.cs
- EventEntry.cs
- ClockGroup.cs
- OleAutBinder.cs
- XmlImplementation.cs
- BindValidator.cs