Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / Configuration / Compiler.cs / 1 / 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
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
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);
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.
//------------------------------------------------------------------------------
//
// 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
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
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);
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
- Facet.cs
- Frame.cs
- StringCollection.cs
- SQLSingleStorage.cs
- TcpWorkerProcess.cs
- File.cs
- DescendantQuery.cs
- DataSourceXmlTextReader.cs
- SimpleHandlerBuildProvider.cs
- InternalReceiveMessage.cs
- TimeSpanConverter.cs
- UriSection.cs
- RecordBuilder.cs
- Vector3dCollection.cs
- TextElementCollection.cs
- ChangeTracker.cs
- MasterPageParser.cs
- GlobalProxySelection.cs
- ContravarianceAdapter.cs
- XmlSchemaSimpleTypeUnion.cs
- URLString.cs
- BlurBitmapEffect.cs
- connectionpool.cs
- LassoHelper.cs
- SqlHelper.cs
- DataKeyCollection.cs
- GatewayIPAddressInformationCollection.cs
- SHA1Managed.cs
- PageCache.cs
- HashAlgorithm.cs
- ErrorRuntimeConfig.cs
- ContextMenuStripGroup.cs
- WeakKeyDictionary.cs
- SchemaTableOptionalColumn.cs
- ThreadAttributes.cs
- __TransparentProxy.cs
- Knowncolors.cs
- PropVariant.cs
- TypeGeneratedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- AspNetPartialTrustHelpers.cs
- printdlgexmarshaler.cs
- DesignerCategoryAttribute.cs
- TableSectionStyle.cs
- ReleaseInstanceMode.cs
- ParentUndoUnit.cs
- SchemaObjectWriter.cs
- HyperLinkField.cs
- ParserContext.cs
- SiteMapNode.cs
- GradientBrush.cs
- TypeToken.cs
- PropertyValueUIItem.cs
- AssemblyEvidenceFactory.cs
- MarshalDirectiveException.cs
- ErrorHandler.cs
- AudioSignalProblemOccurredEventArgs.cs
- EntityViewGenerationConstants.cs
- HttpChannelHelper.cs
- EntityDesignerDataSourceView.cs
- BigInt.cs
- StylusOverProperty.cs
- XmlFormatExtensionAttribute.cs
- SerializationException.cs
- Point.cs
- ConnectionManagementElement.cs
- StatusBar.cs
- storepermissionattribute.cs
- SectionVisual.cs
- COSERVERINFO.cs
- SQLChars.cs
- Point3DKeyFrameCollection.cs
- Utilities.cs
- CompressedStack.cs
- XmlKeywords.cs
- PropertyInformationCollection.cs
- Int16AnimationUsingKeyFrames.cs
- StringCollectionEditor.cs
- PeerNameRecordCollection.cs
- ProtectedProviderSettings.cs
- PassportAuthentication.cs
- SAPICategories.cs
- SingleKeyFrameCollection.cs
- WebPartsSection.cs
- XmlSchemaIdentityConstraint.cs
- SrgsText.cs
- AbstractExpressions.cs
- PrintPreviewControl.cs
- HandlerFactoryCache.cs
- ResXDataNode.cs
- BinHexDecoder.cs
- MultiDataTrigger.cs
- DataGridState.cs
- NumericUpDownAccelerationCollection.cs
- NonSerializedAttribute.cs
- SizeChangedEventArgs.cs
- AnnotationStore.cs
- XmlTextEncoder.cs
- WizardPanelChangingEventArgs.cs
- Stack.cs