Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Configuration / SocketElement.cs / 1305376 / SocketElement.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Configuration { using System; using System.Configuration; using System.Net.Sockets; using System.Reflection; using System.Security.Permissions; public sealed class SocketElement : ConfigurationElement { public SocketElement() { this.properties.Add(this.alwaysUseCompletionPortsForAccept); this.properties.Add(this.alwaysUseCompletionPortsForConnect); this.properties.Add(this.ipProtectionLevel); } protected override void PostDeserialize() { // Perf optimization. If the configuration is coming from machine.config // It is safe and we don't need to check for permissions. if (EvaluationContext.IsMachineLevel) return; try { ExceptionHelper.UnrestrictedSocketPermission.Demand(); } catch (Exception exception) { throw new ConfigurationErrorsException( SR.GetString(SR.net_config_element_permission, ConfigurationStrings.Socket), exception); } } [ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForAccept, DefaultValue = false)] public bool AlwaysUseCompletionPortsForAccept { get { return (bool)this[this.alwaysUseCompletionPortsForAccept]; } set { this[this.alwaysUseCompletionPortsForAccept] = value; } } [ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForConnect, DefaultValue = false)] public bool AlwaysUseCompletionPortsForConnect { get { return (bool)this[this.alwaysUseCompletionPortsForConnect]; } set { this[this.alwaysUseCompletionPortsForConnect] = value; } } [ConfigurationProperty(ConfigurationStrings.IPProtectionLevel, DefaultValue = IPProtectionLevel.Unspecified)] public IPProtectionLevel IPProtectionLevel { get { return (IPProtectionLevel)this[this.ipProtectionLevel]; } set { this[this.ipProtectionLevel] = value; } } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty alwaysUseCompletionPortsForConnect = new ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForConnect, typeof(bool), false, ConfigurationPropertyOptions.None); readonly ConfigurationProperty alwaysUseCompletionPortsForAccept = new ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForAccept, typeof(bool), false, ConfigurationPropertyOptions.None); readonly ConfigurationProperty ipProtectionLevel = new ConfigurationProperty(ConfigurationStrings.IPProtectionLevel, typeof(IPProtectionLevel), IPProtectionLevel.Unspecified, ConfigurationPropertyOptions.None); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Configuration { using System; using System.Configuration; using System.Net.Sockets; using System.Reflection; using System.Security.Permissions; public sealed class SocketElement : ConfigurationElement { public SocketElement() { this.properties.Add(this.alwaysUseCompletionPortsForAccept); this.properties.Add(this.alwaysUseCompletionPortsForConnect); this.properties.Add(this.ipProtectionLevel); } protected override void PostDeserialize() { // Perf optimization. If the configuration is coming from machine.config // It is safe and we don't need to check for permissions. if (EvaluationContext.IsMachineLevel) return; try { ExceptionHelper.UnrestrictedSocketPermission.Demand(); } catch (Exception exception) { throw new ConfigurationErrorsException( SR.GetString(SR.net_config_element_permission, ConfigurationStrings.Socket), exception); } } [ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForAccept, DefaultValue = false)] public bool AlwaysUseCompletionPortsForAccept { get { return (bool)this[this.alwaysUseCompletionPortsForAccept]; } set { this[this.alwaysUseCompletionPortsForAccept] = value; } } [ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForConnect, DefaultValue = false)] public bool AlwaysUseCompletionPortsForConnect { get { return (bool)this[this.alwaysUseCompletionPortsForConnect]; } set { this[this.alwaysUseCompletionPortsForConnect] = value; } } [ConfigurationProperty(ConfigurationStrings.IPProtectionLevel, DefaultValue = IPProtectionLevel.Unspecified)] public IPProtectionLevel IPProtectionLevel { get { return (IPProtectionLevel)this[this.ipProtectionLevel]; } set { this[this.ipProtectionLevel] = value; } } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty alwaysUseCompletionPortsForConnect = new ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForConnect, typeof(bool), false, ConfigurationPropertyOptions.None); readonly ConfigurationProperty alwaysUseCompletionPortsForAccept = new ConfigurationProperty(ConfigurationStrings.AlwaysUseCompletionPortsForAccept, typeof(bool), false, ConfigurationPropertyOptions.None); readonly ConfigurationProperty ipProtectionLevel = new ConfigurationProperty(ConfigurationStrings.IPProtectionLevel, typeof(IPProtectionLevel), IPProtectionLevel.Unspecified, ConfigurationPropertyOptions.None); } } // 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
- ProfilePropertySettings.cs
- ProfileService.cs
- InteropExecutor.cs
- EntityCodeGenerator.cs
- EventLogPermissionAttribute.cs
- ICspAsymmetricAlgorithm.cs
- ActiveXContainer.cs
- SplineKeyFrames.cs
- DataPagerFieldCollection.cs
- TextParentUndoUnit.cs
- ActivityWithResult.cs
- ReadOnlyMetadataCollection.cs
- TextPatternIdentifiers.cs
- TextRangeBase.cs
- DocumentXmlWriter.cs
- CultureTableRecord.cs
- ContextProperty.cs
- RandomNumberGenerator.cs
- XmlNamedNodeMap.cs
- FtpWebResponse.cs
- HwndProxyElementProvider.cs
- CodeTypeReference.cs
- DockProviderWrapper.cs
- ResourceContainer.cs
- PrintController.cs
- GregorianCalendarHelper.cs
- FigureParaClient.cs
- ParagraphVisual.cs
- DocumentSequenceHighlightLayer.cs
- ToolStripTextBox.cs
- DataGridItemEventArgs.cs
- ErrorLog.cs
- COAUTHINFO.cs
- SendOperation.cs
- ReliableChannelListener.cs
- KnownIds.cs
- QueryCacheManager.cs
- DesignerRegionMouseEventArgs.cs
- TextBoxRenderer.cs
- ToolBarButton.cs
- JsonEnumDataContract.cs
- ShortcutKeysEditor.cs
- BigInt.cs
- FlagsAttribute.cs
- PseudoWebRequest.cs
- FieldToken.cs
- FilteredDataSetHelper.cs
- SessionIDManager.cs
- FontEditor.cs
- ConvertEvent.cs
- Point3DCollectionConverter.cs
- DownloadProgressEventArgs.cs
- AspCompat.cs
- PatternMatcher.cs
- WebPageTraceListener.cs
- DocumentCollection.cs
- ControlCachePolicy.cs
- SettingsPropertyCollection.cs
- UrlAuthFailureHandler.cs
- DataColumn.cs
- CodeAttributeArgument.cs
- URLIdentityPermission.cs
- WebBrowsableAttribute.cs
- PageBreakRecord.cs
- ReadOnlyDataSource.cs
- SystemNetworkInterface.cs
- SqlUserDefinedAggregateAttribute.cs
- PublisherMembershipCondition.cs
- EmissiveMaterial.cs
- WindowsListBox.cs
- DeploymentExceptionMapper.cs
- TemplateLookupAction.cs
- ProcessThreadCollection.cs
- EntityAdapter.cs
- cookiecollection.cs
- IntSumAggregationOperator.cs
- GlobalAllocSafeHandle.cs
- KeyBinding.cs
- FormsAuthenticationTicket.cs
- MemberAssignment.cs
- TrackingDataItemValue.cs
- RedirectionProxy.cs
- InternalConfigHost.cs
- DataGridViewMethods.cs
- SqlUtils.cs
- DragEvent.cs
- CodeMemberMethod.cs
- ZipIOExtraFieldPaddingElement.cs
- WebPartMinimizeVerb.cs
- BaseProcessor.cs
- WindowsIdentity.cs
- PageRanges.cs
- CheckBoxList.cs
- SHA1Managed.cs
- Psha1DerivedKeyGeneratorHelper.cs
- DefaultBinder.cs
- _NetworkingPerfCounters.cs
- AppSettingsSection.cs
- CultureMapper.cs
- TypeDescriptorContext.cs