Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ActivityCompletionCallbackWrapper.cs
- TextUtf8RawTextWriter.cs
- DataView.cs
- LinearGradientBrush.cs
- ToolStripContentPanelRenderEventArgs.cs
- DataGridViewCellValidatingEventArgs.cs
- ListDataBindEventArgs.cs
- DataGridViewComboBoxCell.cs
- KeyValueSerializer.cs
- DecoderFallbackWithFailureFlag.cs
- TemplatedMailWebEventProvider.cs
- BaseTemplateCodeDomTreeGenerator.cs
- FormsAuthenticationTicket.cs
- DataGridColumnDropSeparator.cs
- AddInContractAttribute.cs
- BinaryWriter.cs
- ValueConversionAttribute.cs
- ColorInterpolationModeValidation.cs
- ScrollViewerAutomationPeer.cs
- ObjectKeyFrameCollection.cs
- ConfigurationValidatorBase.cs
- FolderNameEditor.cs
- ResolveMatchesApril2005.cs
- HtmlTable.cs
- InvokeMethodActivity.cs
- EdmItemError.cs
- MetadataFile.cs
- EdmToObjectNamespaceMap.cs
- WebPartManagerInternals.cs
- XmlAnyElementAttribute.cs
- PrivilegedConfigurationManager.cs
- ControlValuePropertyAttribute.cs
- XamlFilter.cs
- MetabaseServerConfig.cs
- OutOfMemoryException.cs
- XMLUtil.cs
- DataStreamFromComStream.cs
- SqlNodeTypeOperators.cs
- Icon.cs
- UserNameSecurityTokenParameters.cs
- ItemsPanelTemplate.cs
- NonBatchDirectoryCompiler.cs
- AdornedElementPlaceholder.cs
- storepermissionattribute.cs
- InfoCardCryptoHelper.cs
- HandledMouseEvent.cs
- InvocationExpression.cs
- OdbcConnectionOpen.cs
- Encoder.cs
- DynamicControlParameter.cs
- AsyncResult.cs
- GestureRecognizer.cs
- CollectionChangedEventManager.cs
- safesecurityhelperavalon.cs
- Evaluator.cs
- FormatControl.cs
- TableParagraph.cs
- TreeNodeEventArgs.cs
- PopupEventArgs.cs
- XamlFigureLengthSerializer.cs
- Scripts.cs
- DataGridViewCellValueEventArgs.cs
- DispatcherHooks.cs
- SimpleParser.cs
- EUCJPEncoding.cs
- CodeSnippetExpression.cs
- SelectionChangedEventArgs.cs
- X509CertificateStore.cs
- XmlTextReaderImpl.cs
- UserControlAutomationPeer.cs
- XmlDocumentFragment.cs
- SoapTypeAttribute.cs
- XsdDuration.cs
- SymbolEqualComparer.cs
- ForceCopyBuildProvider.cs
- StorageComplexTypeMapping.cs
- SerializationBinder.cs
- EntityTypeEmitter.cs
- InstanceDescriptor.cs
- CaretElement.cs
- messageonlyhwndwrapper.cs
- ConditionCollection.cs
- ExecutionScope.cs
- CompressStream.cs
- X509CertificateStore.cs
- QilUnary.cs
- HealthMonitoringSection.cs
- RawStylusInput.cs
- GradientStop.cs
- Utils.cs
- Vector3D.cs
- LongTypeConverter.cs
- LocationInfo.cs
- SchemaElement.cs
- WsatServiceAddress.cs
- UpdatePanelTriggerCollection.cs
- MULTI_QI.cs
- SourceFilter.cs
- RoutedUICommand.cs
- HashCodeCombiner.cs