Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / Compiler.cs / 3 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StrokeNodeOperations.cs
- TypeValidationEventArgs.cs
- SchemaImporter.cs
- Events.cs
- BindValidationContext.cs
- HTMLTextWriter.cs
- XamlDesignerSerializationManager.cs
- MetadataWorkspace.cs
- _ScatterGatherBuffers.cs
- CryptoProvider.cs
- odbcmetadatacolumnnames.cs
- TableHeaderCell.cs
- SignatureHelper.cs
- WebPartTransformerAttribute.cs
- StringCollection.cs
- FullTrustAssembly.cs
- QualifierSet.cs
- SubMenuStyleCollection.cs
- ClientFormsIdentity.cs
- TokenBasedSet.cs
- DataBoundLiteralControl.cs
- DbConnectionFactory.cs
- CookieProtection.cs
- FontSourceCollection.cs
- WebPartMinimizeVerb.cs
- SimpleFieldTemplateFactory.cs
- GetPageNumberCompletedEventArgs.cs
- DirectoryInfo.cs
- LoadedOrUnloadedOperation.cs
- DataGridTablesFactory.cs
- webbrowsersite.cs
- LayoutInformation.cs
- ObjectStateEntryDbDataRecord.cs
- X509Certificate2.cs
- Stroke.cs
- COAUTHIDENTITY.cs
- FunctionCommandText.cs
- AsymmetricKeyExchangeFormatter.cs
- SelectionRangeConverter.cs
- WindowsButton.cs
- SurrogateDataContract.cs
- DeferredSelectedIndexReference.cs
- FigureParaClient.cs
- TdsParserHelperClasses.cs
- UnSafeCharBuffer.cs
- FormViewInsertedEventArgs.cs
- EventManager.cs
- WebPartAddingEventArgs.cs
- Interlocked.cs
- RpcResponse.cs
- DataGridViewColumn.cs
- BuildProvider.cs
- WeakEventManager.cs
- Ops.cs
- Encoder.cs
- SignatureDescription.cs
- DecimalStorage.cs
- DivideByZeroException.cs
- LinearQuaternionKeyFrame.cs
- WebBrowserProgressChangedEventHandler.cs
- FixedSOMElement.cs
- StreamReader.cs
- SmtpNetworkElement.cs
- WebCategoryAttribute.cs
- KnownBoxes.cs
- ColorConverter.cs
- ObjectComplexPropertyMapping.cs
- OleDbPropertySetGuid.cs
- Point3DAnimation.cs
- AppDomainEvidenceFactory.cs
- Error.cs
- Brush.cs
- ResourcesGenerator.cs
- IChannel.cs
- _PooledStream.cs
- User.cs
- UriParserTemplates.cs
- RoleGroupCollection.cs
- StringUtil.cs
- StandardRuntimeEnumValidatorAttribute.cs
- Rfc2898DeriveBytes.cs
- LicenseException.cs
- Vector3DIndependentAnimationStorage.cs
- WebPartUtil.cs
- ObjectPersistData.cs
- PauseStoryboard.cs
- LocatorManager.cs
- UnicodeEncoding.cs
- TabControlCancelEvent.cs
- Brush.cs
- TextReader.cs
- SqlClientMetaDataCollectionNames.cs
- DataRecordInternal.cs
- TransformerTypeCollection.cs
- KeyPullup.cs
- PathFigureCollection.cs
- TabletDeviceInfo.cs
- SiteOfOriginContainer.cs
- CanonicalXml.cs
- BmpBitmapDecoder.cs