Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / Compiler.cs / 2 / 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 }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeDomConfigurationHandler.cs
- RequestTimeoutManager.cs
- ConstructorExpr.cs
- DistributedTransactionPermission.cs
- SourceFileInfo.cs
- PackageFilter.cs
- _RequestCacheProtocol.cs
- SiteMapNodeItemEventArgs.cs
- OrderedEnumerableRowCollection.cs
- BaseValidator.cs
- recordstate.cs
- HtmlAnchor.cs
- TypedReference.cs
- XmlHierarchyData.cs
- ListViewDataItem.cs
- NameValueConfigurationElement.cs
- FileEnumerator.cs
- XPathNodeList.cs
- HttpProtocolReflector.cs
- DataTableReader.cs
- NavigateEvent.cs
- InstalledVoice.cs
- PasswordTextNavigator.cs
- EventsTab.cs
- _ConnectionGroup.cs
- BoundingRectTracker.cs
- WpfKnownMemberInvoker.cs
- StatusBar.cs
- ReadOnlyNameValueCollection.cs
- DesignerCalendarAdapter.cs
- FormViewDeletedEventArgs.cs
- SourceElementsCollection.cs
- _RequestCacheProtocol.cs
- ConfigurationManager.cs
- ParallelTimeline.cs
- Transaction.cs
- XmlSchemaAnnotation.cs
- EntityWithChangeTrackerStrategy.cs
- SystemGatewayIPAddressInformation.cs
- ModelFunction.cs
- PropertyGeneratedEventArgs.cs
- StringFunctions.cs
- TripleDES.cs
- FormViewActionList.cs
- BitmapEffectGeneralTransform.cs
- TraceLevelHelper.cs
- UrlPropertyAttribute.cs
- ProxyHwnd.cs
- lengthconverter.cs
- DataControlField.cs
- TextEditorMouse.cs
- BasicBrowserDialog.cs
- CommandSet.cs
- XmlBinaryWriter.cs
- WebPartConnectionsEventArgs.cs
- XamlContextStack.cs
- DataGridDesigner.cs
- PointCollectionValueSerializer.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SettingsAttributeDictionary.cs
- PseudoWebRequest.cs
- XmlILAnnotation.cs
- Compilation.cs
- RowBinding.cs
- WebPartDisplayModeCollection.cs
- PointUtil.cs
- SlipBehavior.cs
- PageParser.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- MobileCategoryAttribute.cs
- Switch.cs
- IApplicationTrustManager.cs
- Msmq4PoisonHandler.cs
- NumberFormatInfo.cs
- EmptyEnumerator.cs
- KeyboardNavigation.cs
- XhtmlBasicFormAdapter.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlWrappingWriter.cs
- FilteredXmlReader.cs
- WebBrowserBase.cs
- Page.cs
- FieldInfo.cs
- LowerCaseStringConverter.cs
- DataGridViewCellValidatingEventArgs.cs
- UnSafeCharBuffer.cs
- DrawListViewColumnHeaderEventArgs.cs
- SourceSwitch.cs
- HttpConfigurationSystem.cs
- EntityContainerEntitySet.cs
- MetafileHeaderWmf.cs
- HttpPostedFile.cs
- BindingContext.cs
- XmlHierarchicalEnumerable.cs
- WmlObjectListAdapter.cs
- DesignTimeSiteMapProvider.cs
- WebPartConnection.cs
- PageParser.cs
- Point3DCollection.cs
- AttributeTableBuilder.cs