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
- ComboBoxItem.cs
- DuplicateWaitObjectException.cs
- DesignerView.xaml.cs
- ReflectionUtil.cs
- TriggerCollection.cs
- CodeExpressionStatement.cs
- WebPartEditorCancelVerb.cs
- DataGridLinkButton.cs
- MetadataException.cs
- WebControlAdapter.cs
- SecurityTokenSerializer.cs
- CollectionView.cs
- AutomationEvent.cs
- SocketElement.cs
- Char.cs
- CurrentTimeZone.cs
- CfgParser.cs
- InvalidOleVariantTypeException.cs
- TextRange.cs
- Automation.cs
- EventItfInfo.cs
- OpenTypeLayoutCache.cs
- PackageDigitalSignatureManager.cs
- XmlSchemaValidator.cs
- GlyphElement.cs
- NopReturnReader.cs
- TextEditorCharacters.cs
- HandlerBase.cs
- DeferrableContentConverter.cs
- LocatorGroup.cs
- PlainXmlWriter.cs
- AppLevelCompilationSectionCache.cs
- FontConverter.cs
- BaseHashHelper.cs
- Transform3DGroup.cs
- SqlConnectionStringBuilder.cs
- Cursors.cs
- QuaternionRotation3D.cs
- BezierSegment.cs
- streamingZipPartStream.cs
- OracleColumn.cs
- SecurityChannel.cs
- MsmqHostedTransportConfiguration.cs
- IsolatedStorageFileStream.cs
- CodeDirectiveCollection.cs
- TextCharacters.cs
- PackagePartCollection.cs
- ImageAutomationPeer.cs
- ReadOnlyTernaryTree.cs
- Pts.cs
- MembershipPasswordException.cs
- XmlDownloadManager.cs
- MulticastOption.cs
- DataTemplateKey.cs
- MergeFilterQuery.cs
- TransportConfigurationTypeElementCollection.cs
- JsonEnumDataContract.cs
- PropertyToken.cs
- log.cs
- CounterSet.cs
- ItemMap.cs
- OrthographicCamera.cs
- TextRangeBase.cs
- TextTrailingCharacterEllipsis.cs
- EventItfInfo.cs
- WindowsImpersonationContext.cs
- ZoomPercentageConverter.cs
- ObjectCacheSettings.cs
- NativeMethods.cs
- GridViewSortEventArgs.cs
- _UriSyntax.cs
- mactripleDES.cs
- ScriptResourceHandler.cs
- URLMembershipCondition.cs
- BaseDataBoundControl.cs
- Rect3DValueSerializer.cs
- SqlColumnizer.cs
- ApplicationGesture.cs
- TraceListener.cs
- TransformerInfoCollection.cs
- CursorInteropHelper.cs
- ObjectSet.cs
- SchemaCollectionPreprocessor.cs
- sqlcontext.cs
- Style.cs
- ProfilePropertyNameValidator.cs
- Rectangle.cs
- DbConnectionPoolGroup.cs
- PerspectiveCamera.cs
- WinFormsSpinner.cs
- XamlTemplateSerializer.cs
- ListBase.cs
- CodeIdentifiers.cs
- TranslateTransform3D.cs
- HttpListenerContext.cs
- TransformValueSerializer.cs
- InputScopeNameConverter.cs
- AlgoModule.cs
- BehaviorEditorPart.cs
- InfoCardSymmetricAlgorithm.cs