Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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
- WorkflowMarkupElementEventArgs.cs
- Gdiplus.cs
- TransactedReceiveData.cs
- ListControl.cs
- Message.cs
- BaseDataBoundControlDesigner.cs
- HandlerFactoryCache.cs
- ColorComboBox.cs
- nulltextnavigator.cs
- ConnectionString.cs
- ScriptComponentDescriptor.cs
- ActivityBindForm.Designer.cs
- MD5.cs
- OracleParameterCollection.cs
- HtmlTableRow.cs
- ModifierKeysValueSerializer.cs
- UriExt.cs
- EraserBehavior.cs
- UpdateManifestForBrowserApplication.cs
- ThreadInterruptedException.cs
- webproxy.cs
- WindowInteropHelper.cs
- PopupControlService.cs
- DataGridViewUtilities.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- Message.cs
- StorageModelBuildProvider.cs
- UserControlCodeDomTreeGenerator.cs
- ListDictionary.cs
- SymbolMethod.cs
- IERequestCache.cs
- _Connection.cs
- MessageEnumerator.cs
- CaseInsensitiveOrdinalStringComparer.cs
- CqlQuery.cs
- BindingContext.cs
- Publisher.cs
- ChangeConflicts.cs
- XmlName.cs
- _ConnectStream.cs
- Wrapper.cs
- Page.cs
- GridViewHeaderRowPresenter.cs
- HttpRuntime.cs
- Group.cs
- OrCondition.cs
- MarkupCompilePass1.cs
- IERequestCache.cs
- invalidudtexception.cs
- RegexRunner.cs
- NavigationPropertySingletonExpression.cs
- ServiceOperationParameter.cs
- DefaultMemberAttribute.cs
- SystemGatewayIPAddressInformation.cs
- MessageSecurityOverMsmqElement.cs
- XmlHelper.cs
- Accessible.cs
- WebEvents.cs
- Int16Converter.cs
- PipeStream.cs
- SingleAnimation.cs
- Queue.cs
- PersonalizablePropertyEntry.cs
- PageParserFilter.cs
- ApplicationFileParser.cs
- TypeDependencyAttribute.cs
- DuplicateWaitObjectException.cs
- MutexSecurity.cs
- CustomAttribute.cs
- MembershipSection.cs
- BrowserCapabilitiesCodeGenerator.cs
- RemoteWebConfigurationHostServer.cs
- CalendarAutoFormatDialog.cs
- XmlSchemaCollection.cs
- XmlCustomFormatter.cs
- EntityContainerEntitySetDefiningQuery.cs
- ActiveXSite.cs
- TileModeValidation.cs
- ZipIOCentralDirectoryFileHeader.cs
- DesignerDataSourceView.cs
- DataGridColumn.cs
- ColumnClickEvent.cs
- CodeLinePragma.cs
- Stylesheet.cs
- DbConnectionPoolCounters.cs
- IfAction.cs
- FileDataSourceCache.cs
- EmbeddedObject.cs
- commandenforcer.cs
- RefreshEventArgs.cs
- ListViewItemEventArgs.cs
- StringValidatorAttribute.cs
- objectquery_tresulttype.cs
- SortExpressionBuilder.cs
- NamespaceMapping.cs
- SignatureHelper.cs
- XmlImplementation.cs
- WeakReference.cs
- WebPartConnectionsEventArgs.cs
- XhtmlBasicCalendarAdapter.cs