Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Compilation / NonBatchDirectoryCompiler.cs / 1 / NonBatchDirectoryCompiler.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Compilation {
using System;
using System.IO;
using System.Collections;
using System.Reflection;
using System.Configuration;
using System.Web.Hosting;
using System.Web.Util;
using System.Web.Caching;
using System.Web.UI;
using System.Web.Configuration;
/*
* This class makes sure that every file in a directory is compiled individually (i.e. it
* doesn't use batching. Also, the assemblies get stable names.
*/
internal class NonBatchDirectoryCompiler {
// The config section for the set of build providers that we handle
private CompilationSection _compConfig;
private VirtualDirectory _vdir;
internal NonBatchDirectoryCompiler(VirtualDirectory vdir) {
_vdir = vdir;
_compConfig = RuntimeConfig.GetConfig(_vdir.VirtualPath).Compilation;
}
internal void Process() {
foreach (VirtualFile vfile in _vdir.Files) {
string extension = UrlPath.GetExtension(vfile.VirtualPath);
// Skip any file for which we can't get a BuildProvider type, as it is not
// compilable.
Type buildProviderType = CompilationUtil.GetBuildProviderTypeFromExtension(_compConfig,
extension, BuildProviderAppliesTo.Web, false /*failIfUnknown*/);
if (buildProviderType == null)
continue;
// If it's a source file, skip it. We need to do this for v1 compatibility,
// since v1 VS projects contain many source files which have already been
// precompiled into bin, and that should not be compiled dynamically
if (buildProviderType == typeof(SourceFileBuildProvider))
continue;
// For the same reason, skip resources
if (buildProviderType == typeof(ResXBuildProvider))
continue;
// Call GetVPathBuildResult to cause the file to be compiled. We ignore the
// return value.
BuildManager.GetVPathBuildResult(vfile.VirtualPathObject);
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HandlerFactoryCache.cs
- EditorPart.cs
- DataBindingHandlerAttribute.cs
- XmlDataSourceView.cs
- EmptyStringExpandableObjectConverter.cs
- _UriSyntax.cs
- EmptyReadOnlyDictionaryInternal.cs
- DateTimeConverter2.cs
- ReadWriteSpinLock.cs
- AdapterDictionary.cs
- SqlAliasesReferenced.cs
- SamlAuthorityBinding.cs
- Polyline.cs
- WorkflowViewStateService.cs
- ColorPalette.cs
- baseshape.cs
- EncryptedPackageFilter.cs
- MarginsConverter.cs
- ArgumentException.cs
- Preprocessor.cs
- PagerSettings.cs
- ElementFactory.cs
- FormDesigner.cs
- CheckableControlBaseAdapter.cs
- CompilationSection.cs
- XslAstAnalyzer.cs
- RegexTree.cs
- DataSourceCacheDurationConverter.cs
- AmbientProperties.cs
- OleDbInfoMessageEvent.cs
- WindowsComboBox.cs
- KeyValueInternalCollection.cs
- DataServiceHostFactory.cs
- SecurityUniqueId.cs
- DoubleUtil.cs
- ListView.cs
- DeferredElementTreeState.cs
- BoundsDrawingContextWalker.cs
- MultiBindingExpression.cs
- shaper.cs
- ObjectStorage.cs
- FormViewUpdateEventArgs.cs
- _FtpControlStream.cs
- ListChangedEventArgs.cs
- WrappedReader.cs
- PagesSection.cs
- EntityDataSourceChangedEventArgs.cs
- FilterableAttribute.cs
- CallInfo.cs
- DBParameter.cs
- LinkLabel.cs
- ComplexLine.cs
- PrintDialogDesigner.cs
- BitStack.cs
- MenuItemBinding.cs
- TypeElement.cs
- RtfControls.cs
- ObjectDataSource.cs
- DelegateSerializationHolder.cs
- SettingsProperty.cs
- ReflectPropertyDescriptor.cs
- DeferredRunTextReference.cs
- WebPartManager.cs
- BStrWrapper.cs
- DiagnosticsConfigurationHandler.cs
- SatelliteContractVersionAttribute.cs
- FormViewPagerRow.cs
- CellTreeNode.cs
- UserPrincipalNameElement.cs
- EmptyElement.cs
- NamespaceQuery.cs
- ReadWriteSpinLock.cs
- ComponentRenameEvent.cs
- FixedSchema.cs
- MeshGeometry3D.cs
- DataGridViewAdvancedBorderStyle.cs
- SrgsElementList.cs
- XmlHierarchicalDataSourceView.cs
- LongCountAggregationOperator.cs
- TextMetrics.cs
- TreeBuilderBamlTranslator.cs
- XmlSerializerFactory.cs
- OperandQuery.cs
- SymbolTable.cs
- ReadOnlyDictionary.cs
- PeerService.cs
- MenuItemBinding.cs
- MergeEnumerator.cs
- PaperSize.cs
- BamlCollectionHolder.cs
- TypeGeneratedEventArgs.cs
- Pts.cs
- httpapplicationstate.cs
- FileDialogPermission.cs
- HelpProvider.cs
- TdsParameterSetter.cs
- OleStrCAMarshaler.cs
- RectangleConverter.cs
- XmlLangPropertyAttribute.cs
- TextTreeObjectNode.cs