Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DiscoveryMessageSequenceCD1.cs
- HandlerElementCollection.cs
- SvcMapFileLoader.cs
- HttpSocketManager.cs
- XmlIlVisitor.cs
- Transform.cs
- RadioButtonFlatAdapter.cs
- EntityViewGenerationAttribute.cs
- StrongNameMembershipCondition.cs
- ParseElement.cs
- TextWriter.cs
- ConnectionsZone.cs
- SignatureHelper.cs
- StrongTypingException.cs
- StandardOleMarshalObject.cs
- ExportOptions.cs
- ProxyHwnd.cs
- ImageInfo.cs
- PageThemeBuildProvider.cs
- IntSecurity.cs
- oledbconnectionstring.cs
- SevenBitStream.cs
- PriorityQueue.cs
- BindingBase.cs
- EmptyEnumerable.cs
- SystemIPv6InterfaceProperties.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- GridViewSortEventArgs.cs
- SubclassTypeValidator.cs
- ALinqExpressionVisitor.cs
- PropertyConverter.cs
- RsaSecurityToken.cs
- Privilege.cs
- LabelEditEvent.cs
- FSWPathEditor.cs
- ListViewGroupItemCollection.cs
- DefaultClaimSet.cs
- XsdDateTime.cs
- SchemaLookupTable.cs
- EntityDataSource.cs
- XmlRawWriter.cs
- ThreadStateException.cs
- DesignerToolboxInfo.cs
- ErrorFormatter.cs
- QuaternionRotation3D.cs
- RegexCapture.cs
- HandlerFactoryCache.cs
- MarshalByRefObject.cs
- _CacheStreams.cs
- AssemblyName.cs
- InProcStateClientManager.cs
- Span.cs
- XhtmlStyleClass.cs
- WorkflowElementDialog.cs
- AttachedPropertyBrowsableAttribute.cs
- CodeArrayIndexerExpression.cs
- SelectingProviderEventArgs.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- EventHandlerList.cs
- DecoratedNameAttribute.cs
- ReflectionUtil.cs
- CodeSnippetTypeMember.cs
- Publisher.cs
- X509Utils.cs
- OverlappedAsyncResult.cs
- WebBrowserContainer.cs
- DSASignatureDeformatter.cs
- UriParserTemplates.cs
- AmbientProperties.cs
- TraceFilter.cs
- RepeaterCommandEventArgs.cs
- DataGridViewCellValidatingEventArgs.cs
- HWStack.cs
- EventArgs.cs
- EventPropertyMap.cs
- ServiceReference.cs
- TextEditorTables.cs
- ResourceReader.cs
- assertwrapper.cs
- ImageFormatConverter.cs
- SchemaElementDecl.cs
- TreeIterator.cs
- StrongBox.cs
- DescendantOverDescendantQuery.cs
- OleDbErrorCollection.cs
- AsyncCompletedEventArgs.cs
- DictionaryBase.cs
- SyncMethodInvoker.cs
- HtmlTextArea.cs
- MouseButtonEventArgs.cs
- WebBrowserNavigatingEventHandler.cs
- FixedSOMTable.cs
- SqlBuilder.cs
- CodeObject.cs
- LocalFileSettingsProvider.cs
- RoutedUICommand.cs
- JobCollate.cs
- QueuePropertyVariants.cs
- SimpleTableProvider.cs
- WmlPanelAdapter.cs