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
- RubberbandSelector.cs
- Transform3D.cs
- XamlSerializerUtil.cs
- WebColorConverter.cs
- CommandConverter.cs
- ThreadSafeList.cs
- ApplicationSettingsBase.cs
- Facet.cs
- QueryOperatorEnumerator.cs
- SafeThemeHandle.cs
- ProfileEventArgs.cs
- CompositeDataBoundControl.cs
- XmlUrlResolver.cs
- ProfileParameter.cs
- BuildProvider.cs
- TransactedReceiveData.cs
- SmiGettersStream.cs
- ImageField.cs
- _PooledStream.cs
- ToolStripCollectionEditor.cs
- FilterRepeater.cs
- ViewLoader.cs
- SchemaManager.cs
- Application.cs
- WebPartDeleteVerb.cs
- SchemaImporterExtensionElementCollection.cs
- DataGridHeaderBorder.cs
- CodeGen.cs
- RuleElement.cs
- EntityDataSourceUtil.cs
- DefaultValueAttribute.cs
- SafeWaitHandle.cs
- Input.cs
- ExceptionUtil.cs
- UiaCoreTypesApi.cs
- BitmapEffectGroup.cs
- HttpServerVarsCollection.cs
- SwitchElementsCollection.cs
- HttpRequestBase.cs
- Keywords.cs
- CodeSnippetExpression.cs
- Evaluator.cs
- DataGridPagerStyle.cs
- GrammarBuilder.cs
- CacheDependency.cs
- Walker.cs
- odbcmetadatafactory.cs
- GenericTransactionFlowAttribute.cs
- CleanUpVirtualizedItemEventArgs.cs
- DashStyle.cs
- X509ThumbprintKeyIdentifierClause.cs
- OleDbStruct.cs
- ConfigurationSettings.cs
- BindingEditor.xaml.cs
- WizardSideBarListControlItemEventArgs.cs
- XmlIgnoreAttribute.cs
- NamedPipeAppDomainProtocolHandler.cs
- DesignDataSource.cs
- Rotation3DKeyFrameCollection.cs
- TraceHwndHost.cs
- PipelineComponent.cs
- PageCache.cs
- DisableDpiAwarenessAttribute.cs
- GridLengthConverter.cs
- ObjectDataSourceMethodEventArgs.cs
- CommonDialog.cs
- IsolatedStorageException.cs
- AutoResizedEvent.cs
- CodeAccessSecurityEngine.cs
- COM2TypeInfoProcessor.cs
- DrawTreeNodeEventArgs.cs
- EntityContainerRelationshipSetEnd.cs
- cookiecontainer.cs
- StaticSiteMapProvider.cs
- SendOperation.cs
- BookmarkEventArgs.cs
- LogExtent.cs
- BrowserInteropHelper.cs
- SettingsProviderCollection.cs
- SQLDouble.cs
- Vector3DValueSerializer.cs
- Positioning.cs
- DbTypeMap.cs
- StorageTypeMapping.cs
- Quaternion.cs
- ClonableStack.cs
- WebExceptionStatus.cs
- FocusWithinProperty.cs
- ConditionCollection.cs
- wmiprovider.cs
- xsdvalidator.cs
- ListSourceHelper.cs
- Vector3DAnimation.cs
- PersonalizationProviderCollection.cs
- TranslateTransform.cs
- RelationshipEndCollection.cs
- _IPv6Address.cs
- WindowsGrip.cs
- Vector.cs
- FamilyMap.cs