Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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
- CodePageUtils.cs
- Transactions.cs
- _LoggingObject.cs
- TdsParserStaticMethods.cs
- HandledMouseEvent.cs
- HtmlEncodedRawTextWriter.cs
- StartUpEventArgs.cs
- GridProviderWrapper.cs
- MDIClient.cs
- PublisherMembershipCondition.cs
- EventSourceCreationData.cs
- GridEntry.cs
- CfgArc.cs
- ActiveXHost.cs
- Validator.cs
- MetadataItemSerializer.cs
- XmlText.cs
- SchemaNamespaceManager.cs
- DesignerAttribute.cs
- ToolStripPanelRenderEventArgs.cs
- AvTraceFormat.cs
- Error.cs
- XmlCharCheckingReader.cs
- URLMembershipCondition.cs
- Win32Exception.cs
- Descriptor.cs
- ColorBlend.cs
- smtppermission.cs
- Registry.cs
- ExpressionVisitor.cs
- ControllableStoryboardAction.cs
- SplashScreenNativeMethods.cs
- SignerInfo.cs
- X509Certificate.cs
- DragStartedEventArgs.cs
- Point4D.cs
- Assembly.cs
- AgileSafeNativeMemoryHandle.cs
- AnnotationStore.cs
- SignatureHelper.cs
- BehaviorEditorPart.cs
- QueryOutputWriter.cs
- WorkflowIdleElement.cs
- TiffBitmapDecoder.cs
- HtmlButton.cs
- XhtmlStyleClass.cs
- _AcceptOverlappedAsyncResult.cs
- StateMachine.cs
- Variable.cs
- Solver.cs
- SecUtil.cs
- ActiveXContainer.cs
- DrawingGroup.cs
- InputLangChangeEvent.cs
- SpellerInterop.cs
- DebugView.cs
- NavigationExpr.cs
- VirtualPathProvider.cs
- DataGridSortCommandEventArgs.cs
- OdbcDataAdapter.cs
- ListenerAdapterBase.cs
- Crc32Helper.cs
- DrawToolTipEventArgs.cs
- BindingBase.cs
- TimerElapsedEvenArgs.cs
- SmiMetaData.cs
- DocumentGridContextMenu.cs
- NeutralResourcesLanguageAttribute.cs
- XmlSchemaImporter.cs
- Psha1DerivedKeyGeneratorHelper.cs
- InternalUserCancelledException.cs
- DeviceSpecificChoiceCollection.cs
- IISMapPath.cs
- LinqDataSource.cs
- RangeValueProviderWrapper.cs
- BinaryUtilClasses.cs
- Stopwatch.cs
- WpfPayload.cs
- ReflectEventDescriptor.cs
- AmbientProperties.cs
- AdornerDecorator.cs
- XamlTypeMapper.cs
- StateMachineWorkflow.cs
- AlternateView.cs
- Delegate.cs
- InputChannelAcceptor.cs
- XmlAtomicValue.cs
- MainMenu.cs
- FormViewPagerRow.cs
- XmlAttributeCollection.cs
- WorkflowCompensationBehavior.cs
- recordstatescratchpad.cs
- TextComposition.cs
- MembershipValidatePasswordEventArgs.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- XmlWhitespace.cs
- IPAddress.cs
- EditableTreeList.cs
- WrappedIUnknown.cs
- XNameConverter.cs