Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / Compiler.cs / 1305376 / Compiler.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.Globalization;
using System.IO;
using System.Text;
using System.Web.Compilation;
using System.Reflection;
using System.Web.Hosting;
using System.Web.UI;
using System.CodeDom.Compiler;
using System.Web.Util;
using System.ComponentModel;
using System.Security.Permissions;
// CompilerCollection
public sealed class Compiler : ConfigurationElement {
private const string compilerOptionsAttribName = "compilerOptions";
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propLanguage =
new ConfigurationProperty("language", typeof(string), String.Empty, ConfigurationPropertyOptions.None );
private static readonly ConfigurationProperty _propExtension =
new ConfigurationProperty("extension", typeof(string), String.Empty, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propType =
new ConfigurationProperty("type", typeof(string), String.Empty, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsTypeStringTransformationRequired);
private static readonly ConfigurationProperty _propWarningLevel =
new ConfigurationProperty("warningLevel",
typeof(int),
0,
null,
new IntegerValidator(0, 4),
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propCompilerOptions =
new ConfigurationProperty(compilerOptionsAttribName, typeof(string), String.Empty, ConfigurationPropertyOptions.None);
private CompilerType _compilerType;
static Compiler() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propLanguage);
_properties.Add(_propExtension);
_properties.Add(_propType);
_properties.Add(_propWarningLevel);
_properties.Add(_propCompilerOptions);
}
internal Compiler() {
}
public Compiler(String compilerOptions, String extension, String language, String type, int warningLevel)
: this() {
base[_propCompilerOptions] = compilerOptions;
base[_propExtension] = extension;
base[_propLanguage] = language;
base[_propType] = type;
base[_propWarningLevel] = warningLevel;
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("language", DefaultValue = "", IsRequired = true, IsKey = true)]
public string Language {
get {
return (string)base[_propLanguage];
}
// Remove to satisfy defect number 178343
//set
//{
// base[_propLanguage] = value;
//}
}
[ConfigurationProperty("extension", DefaultValue = "")]
public string Extension {
get {
return (string)base[_propExtension];
}
// Remove to satisfy defect number 178343
//set
//{
// base[_propExtension] = value;
//}
}
[ConfigurationProperty("type", IsRequired = true, DefaultValue = "")]
public string Type {
get {
return (string)base[_propType];
}
// Remove to satisfy defect number 178343
//set
//{
// base[_propType] = value;
//}
}
internal CompilerType CompilerTypeInternal {
get {
if (_compilerType == null) {
lock (this) {
if (_compilerType == null) {
Type codeDomProviderType = CompilationUtil.LoadTypeWithChecks(
Type, typeof(CodeDomProvider), null, this, "type");
System.CodeDom.Compiler.CompilerParameters compilParams = new CompilerParameters();
compilParams.WarningLevel = WarningLevel;
// Need to be false if the warning level is 0
compilParams.TreatWarningsAsErrors = (WarningLevel > 0);
// Only allow the use of compilerOptions when we have UnmanagedCode access (ASURT 73678)
string compilerOptions = CompilerOptions;
// Only allow the use of compilerOptions when we have UnmanagedCode access (ASURT 73678)
CompilationUtil.CheckCompilerOptionsAllowed(compilerOptions, true /*config*/,
ElementInformation.Properties[compilerOptionsAttribName].Source,
ElementInformation.Properties[compilerOptionsAttribName].LineNumber);
compilParams.CompilerOptions = compilerOptions;
_compilerType = new CompilerType(codeDomProviderType, compilParams);
}
}
}
return _compilerType;
}
}
[ConfigurationProperty("warningLevel", DefaultValue = 0)]
[IntegerValidator(MinValue = 0, MaxValue = 4)]
public int WarningLevel {
get {
return (int)base[_propWarningLevel];
}
// Remove to satisfy defect number 178343
//set
//{
// base[_propWarningLevel] = value;
//}
}
[ConfigurationProperty(compilerOptionsAttribName, DefaultValue = "")]
public string CompilerOptions {
get {
return (string)base[_propCompilerOptions];
}
// Remove to satisfy defect number 178343
//set
//{
// base[_propCompilerOptions] = value;
//}
}
} // class Compiler
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BinaryFormatterSinks.cs
- ForAllOperator.cs
- EntityDataSourceViewSchema.cs
- SchemaLookupTable.cs
- Int16.cs
- MetadataExporter.cs
- KeyValueInternalCollection.cs
- METAHEADER.cs
- TableParaClient.cs
- ZipFileInfo.cs
- SecurityDocument.cs
- DataGridViewColumnTypePicker.cs
- ExchangeUtilities.cs
- ToolStripDropDownClosedEventArgs.cs
- SchemaAttDef.cs
- ProfilePropertySettingsCollection.cs
- RightsManagementPermission.cs
- LinqDataSourceHelper.cs
- TextTreeTextBlock.cs
- ControlParameter.cs
- DataSourceHelper.cs
- TriggerAction.cs
- ActiveDocumentEvent.cs
- StartUpEventArgs.cs
- sitestring.cs
- ProfilePropertySettingsCollection.cs
- ApplicationException.cs
- ProcessManager.cs
- Stylus.cs
- TagPrefixCollection.cs
- DataSet.cs
- EncoderBestFitFallback.cs
- LinqDataSource.cs
- SqlRowUpdatedEvent.cs
- CodeArrayIndexerExpression.cs
- IsolatedStorageFile.cs
- XmlILStorageConverter.cs
- Lasso.cs
- TextEditorTables.cs
- GridViewColumnCollection.cs
- DataControlHelper.cs
- WmlCommandAdapter.cs
- ApplicationManager.cs
- Symbol.cs
- DockPanel.cs
- FixedBufferAttribute.cs
- HandlerBase.cs
- ClientRuntimeConfig.cs
- SafeFileMappingHandle.cs
- MergeFilterQuery.cs
- StylesEditorDialog.cs
- X509Chain.cs
- XmlAutoDetectWriter.cs
- GlyphRunDrawing.cs
- OneWayBindingElementImporter.cs
- Double.cs
- TextSelection.cs
- OdbcHandle.cs
- SqlProfileProvider.cs
- CategoryNameCollection.cs
- DiffuseMaterial.cs
- SafeRightsManagementQueryHandle.cs
- SettingsPropertyNotFoundException.cs
- PrintDialogException.cs
- BoundField.cs
- HtmlInputRadioButton.cs
- sqlnorm.cs
- ImageDrawing.cs
- ClockGroup.cs
- BaseValidatorDesigner.cs
- SelectionService.cs
- TransformationRules.cs
- ForeignKeyConstraint.cs
- DataGridCommandEventArgs.cs
- ResourcesChangeInfo.cs
- ToolboxCategory.cs
- PrimarySelectionGlyph.cs
- DataGridViewTextBoxCell.cs
- AddInDeploymentState.cs
- CodeConstructor.cs
- TransformationRules.cs
- Mappings.cs
- DataRecordObjectView.cs
- SecureUICommand.cs
- InfiniteIntConverter.cs
- ForwardPositionQuery.cs
- Queue.cs
- TemplateBaseAction.cs
- MarshalByValueComponent.cs
- WindowsStatic.cs
- CodeBinaryOperatorExpression.cs
- Point.cs
- ExitEventArgs.cs
- X509ChainPolicy.cs
- BamlCollectionHolder.cs
- WpfPayload.cs
- SpellerError.cs
- SafeHandles.cs
- OletxTransactionManager.cs
- AsyncResult.cs