Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Compilation / ApplicationBuildProvider.cs / 1305376 / 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
- OutputCacheSettings.cs
- OutputCacheModule.cs
- UnsafeNativeMethods.cs
- IPEndPointCollection.cs
- OperationInfo.cs
- StdValidatorsAndConverters.cs
- RegionData.cs
- TopClause.cs
- StorageComplexPropertyMapping.cs
- RenamedEventArgs.cs
- FlatButtonAppearance.cs
- MarkupExtensionSerializer.cs
- RadioButton.cs
- WSIdentityFaultException.cs
- StateMachineWorkflowDesigner.cs
- DataControlPagerLinkButton.cs
- OracleDateTime.cs
- SqlReferenceCollection.cs
- VectorCollectionConverter.cs
- AssemblyAttributes.cs
- ExecutionContext.cs
- SecurityAlgorithmSuiteConverter.cs
- FileDialogPermission.cs
- SafeCoTaskMem.cs
- SoapDocumentMethodAttribute.cs
- CodeBlockBuilder.cs
- SqlCharStream.cs
- EventPrivateKey.cs
- _SslSessionsCache.cs
- LoginCancelEventArgs.cs
- ConnectionInterfaceCollection.cs
- HttpResponse.cs
- HitTestParameters.cs
- StringFormat.cs
- RuntimeConfigLKG.cs
- XmlNamespaceMapping.cs
- ToolStripEditorManager.cs
- Visual3D.cs
- Image.cs
- StorageAssociationSetMapping.cs
- SiteMapHierarchicalDataSourceView.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SqlHelper.cs
- XmlILCommand.cs
- PrimaryKeyTypeConverter.cs
- EntitySetBaseCollection.cs
- TableLayoutColumnStyleCollection.cs
- SmtpFailedRecipientException.cs
- TrustManagerMoreInformation.cs
- Pens.cs
- DbConnectionOptions.cs
- UnmanagedMarshal.cs
- RelatedImageListAttribute.cs
- CqlQuery.cs
- TemplateField.cs
- COMException.cs
- WindowPatternIdentifiers.cs
- DataSourceSerializationException.cs
- filewebrequest.cs
- TransformerTypeCollection.cs
- CompositeActivityTypeDescriptorProvider.cs
- PageCatalogPartDesigner.cs
- CodeNamespaceImportCollection.cs
- MetadataCache.cs
- COM2EnumConverter.cs
- OdbcParameter.cs
- OperatorExpressions.cs
- CompilerGeneratedAttribute.cs
- Transform.cs
- HelpInfo.cs
- PointHitTestResult.cs
- NoneExcludedImageIndexConverter.cs
- Keywords.cs
- NewArrayExpression.cs
- LinkLabel.cs
- FixedSOMTextRun.cs
- objectresult_tresulttype.cs
- OneOfElement.cs
- Codec.cs
- GroupedContextMenuStrip.cs
- DataGridViewAccessibleObject.cs
- AnnotationResource.cs
- Listbox.cs
- HttpHostedTransportConfiguration.cs
- _AutoWebProxyScriptEngine.cs
- BinaryObjectReader.cs
- EventManager.cs
- PageRanges.cs
- CodeGeneratorAttribute.cs
- QilUnary.cs
- BufferedStream.cs
- SafeArchiveContext.cs
- Debug.cs
- returneventsaver.cs
- JsonDataContract.cs
- Track.cs
- ItemCheckedEvent.cs
- TextDecorationLocationValidation.cs
- GridViewDesigner.cs
- XmlILModule.cs