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
- dsa.cs
- QilXmlWriter.cs
- Assert.cs
- RootBuilder.cs
- FileAuthorizationModule.cs
- httpserverutility.cs
- VariableModifiersHelper.cs
- WebHttpElement.cs
- MutableAssemblyCacheEntry.cs
- Unit.cs
- StringExpressionSet.cs
- EventLogReader.cs
- KerberosReceiverSecurityToken.cs
- Utilities.cs
- KnownTypesHelper.cs
- RangeValidator.cs
- DataGridViewHitTestInfo.cs
- OpenTypeMethods.cs
- CodeIdentifiers.cs
- XmlDesigner.cs
- ComponentResourceKey.cs
- ColumnMapVisitor.cs
- ForEachAction.cs
- StorageAssociationSetMapping.cs
- LOSFormatter.cs
- CompilerErrorCollection.cs
- ConnectionPoint.cs
- XmlAttributeOverrides.cs
- FieldToken.cs
- TypeLoadException.cs
- DriveNotFoundException.cs
- NonBatchDirectoryCompiler.cs
- OleDbSchemaGuid.cs
- DataContext.cs
- PreloadedPackages.cs
- AssemblyHash.cs
- BinaryConverter.cs
- StyleSelector.cs
- TransformerTypeCollection.cs
- ResourceSet.cs
- JsonDeserializer.cs
- METAHEADER.cs
- Baml2006ReaderSettings.cs
- ResXFileRef.cs
- StaticExtension.cs
- UInt16.cs
- SessionIDManager.cs
- TemplateInstanceAttribute.cs
- ActivityValidationServices.cs
- ValueSerializer.cs
- WindowsScroll.cs
- PopupRoot.cs
- oledbmetadatacollectionnames.cs
- ApplicationInfo.cs
- LocationSectionRecord.cs
- BmpBitmapDecoder.cs
- PointLightBase.cs
- NegotiateStream.cs
- HttpStreamXmlDictionaryWriter.cs
- CachedCompositeFamily.cs
- ExtentJoinTreeNode.cs
- CodeGeneratorOptions.cs
- CompilationSection.cs
- TypeNameConverter.cs
- ToolTip.cs
- SqlDataSourceRefreshSchemaForm.cs
- COM2FontConverter.cs
- EventLogInternal.cs
- HttpAsyncResult.cs
- OracleBoolean.cs
- SerializationObjectManager.cs
- CompensatableTransactionScopeActivity.cs
- UInt64.cs
- TemplateComponentConnector.cs
- SqlCommandBuilder.cs
- StyleCollectionEditor.cs
- TextServicesContext.cs
- TextParagraph.cs
- EntityProviderFactory.cs
- BrowserInteropHelper.cs
- WebBrowser.cs
- OdbcConnectionOpen.cs
- DependencyObject.cs
- _ConnectStream.cs
- BufferedOutputStream.cs
- DateTimeConstantAttribute.cs
- MessageSecurityTokenVersion.cs
- EnumType.cs
- TextViewSelectionProcessor.cs
- ArraySortHelper.cs
- InsufficientMemoryException.cs
- CodeTypeParameterCollection.cs
- RepeatButton.cs
- LogStream.cs
- DataGridViewColumnEventArgs.cs
- ObjectDataSourceSelectingEventArgs.cs
- EmptyStringExpandableObjectConverter.cs
- ConfigXmlSignificantWhitespace.cs
- VerificationAttribute.cs
- IconConverter.cs