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
- BamlRecordWriter.cs
- ClaimSet.cs
- AssemblyBuilderData.cs
- Query.cs
- DataGridViewSelectedRowCollection.cs
- NullableLongAverageAggregationOperator.cs
- DetailsView.cs
- SessionEndingCancelEventArgs.cs
- IOException.cs
- ProcessHostFactoryHelper.cs
- Setter.cs
- MetabaseSettings.cs
- DataBoundControlHelper.cs
- prefixendpointaddressmessagefilter.cs
- RawAppCommandInputReport.cs
- NameValuePair.cs
- Mapping.cs
- ToolStripTextBox.cs
- TagMapInfo.cs
- SqlDependency.cs
- ProfileModule.cs
- TypeHelpers.cs
- NativeMethods.cs
- DBCommand.cs
- ResXBuildProvider.cs
- Identifier.cs
- XmlEncodedRawTextWriter.cs
- SqlProfileProvider.cs
- activationcontext.cs
- SrgsToken.cs
- Inflater.cs
- HtmlInputButton.cs
- UserPreferenceChangedEventArgs.cs
- Cursor.cs
- BitmapCodecInfoInternal.cs
- CheckBoxFlatAdapter.cs
- COM2EnumConverter.cs
- AppDomainManager.cs
- QuaternionAnimation.cs
- Filter.cs
- EntityDataSourceQueryBuilder.cs
- ObjectCloneHelper.cs
- ToolStripItemClickedEventArgs.cs
- TextBox.cs
- XPathScanner.cs
- SessionSwitchEventArgs.cs
- AnnotationResourceChangedEventArgs.cs
- MailWebEventProvider.cs
- SystemFonts.cs
- WebServiceMethodData.cs
- MutexSecurity.cs
- SqlParameter.cs
- ControlTemplate.cs
- RegistryPermission.cs
- RSAPKCS1SignatureFormatter.cs
- categoryentry.cs
- SessionStateContainer.cs
- QilSortKey.cs
- FormViewPagerRow.cs
- Thickness.cs
- WebResourceAttribute.cs
- ThrowOnMultipleAssignment.cs
- DataGridViewRowHeaderCell.cs
- log.cs
- Transform.cs
- FieldMetadata.cs
- OptionalColumn.cs
- ToggleProviderWrapper.cs
- Message.cs
- EntityChangedParams.cs
- cookiecontainer.cs
- SqlMethods.cs
- MULTI_QI.cs
- ReachFixedDocumentSerializerAsync.cs
- AliasExpr.cs
- DetectRunnableInstancesTask.cs
- UrlPath.cs
- OracleMonthSpan.cs
- SqlVersion.cs
- SqlIdentifier.cs
- IdentityElement.cs
- MatrixTransform.cs
- DynamicFilter.cs
- InitializingNewItemEventArgs.cs
- KeyedHashAlgorithm.cs
- ContractValidationHelper.cs
- QilParameter.cs
- TextTreeTextBlock.cs
- ThreadStartException.cs
- RemotingServices.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- AsmxEndpointPickerExtension.cs
- AtomServiceDocumentSerializer.cs
- XmlSchemaInferenceException.cs
- ConnectionStringsExpressionBuilder.cs
- objectquery_tresulttype.cs
- ProfilePropertyMetadata.cs
- prompt.cs
- BufferCache.cs
- XmlCodeExporter.cs