Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Указывает, используют ли операции сокета порты завершения.
<конфигурация>
<system.net>
<Параметры>
<розетка>
Синтаксис
<socket
alwaysUseCompletionPortsForConnect="true|false"
alwaysUseCompletionPortsForAccept="true|false"
ipProtectionLevel="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Attributes
| Атрибут | Описание |
|---|---|
alwaysUseCompletionPortsForAccept |
Указывает, должен ли сокет всегда использовать порты завершения для вызовов методов Accept. Значение по умолчанию — false. |
alwaysUseCompletionPortsForConnect |
Указывает, должен ли сокет всегда использовать порты завершения для вызовов методов Connect. Значение по умолчанию — false. |
ipProtectionLevel |
Указывает значение по умолчанию System.Net.Sockets.IPProtectionLevel , используемое для сокета. Значение по умолчанию зависит от версии Windows. |
Дочерние элементы
Нет.
Родительские элементы
| Элемент | Описание |
|---|---|
| Параметры | Настраивает базовые System.Net параметры сети для пространства имен. |
Замечания
alwaysUseCompletionPortsForConnect Атрибуты alwaysUseCompletionPortsForAccept используются для указания поведения по умолчанию относительно использования портов завершения классами в System.Net.Socketsпространстве имен. Порты завершения рекомендуется использовать для приложений сервера высокой производительности.
Значение по умолчанию для alwaysUseCompletionPortsForAccept атрибутов alwaysUseCompletionPortsForConnect равно false.
Его AlwaysUseCompletionPortsForAccept можно использовать для получения текущего значения атрибута alwaysUseCompletionPortsForAccept из применимых файлов конфигурации. Его AlwaysUseCompletionPortsForConnect можно использовать для получения текущего значения атрибута alwaysUseCompletionPortsForConnect из применимых файлов конфигурации.
Атрибут ipProtectionLevel указывает значение по умолчанию System.Net.Sockets.IPProtectionLevel , используемое для сокета. Свойство IPProtectionLevel позволяет настроить ограничение для сокета IPv6 в указанную область, например адреса с тем же локальным или локальным префиксом сайта. Этот параметр позволяет приложениям размещать ограничения доступа к сокетам IPv6. Такие ограничения позволяют приложению, работающему в частной локальной сети, просто и надежно защищать себя от внешних атак. Этот параметр расширяет или сужает область сокета прослушивания, обеспечивая неограниченный доступ от общедоступных и частных пользователей, если это необходимо, или ограничивает доступ только к тому же сайту, что и требуется.
Этот ipProtectionLevel параметр атрибута влияет только на исходный входящий трафик:
TCP-сервер, прослушивающий входящие подключения в сокете.
Приложение UDP, получающее пакет на сокете.
Этот параметр конфигурации не влияет на уже установленные TCP-подключения (трафик неограниченно в обоих направлениях) и не влияет на приложение, отправляющее пакеты UDP.
Возможные значения для ipProtectionLevel параметра атрибута соответствуют определенным уровням защиты, указанным в System.Net.Sockets.IPProtectionLevel перечислении следующим образом:
| Значение атрибута | Описание |
|---|---|
| EdgeRestricted | Уровень защиты IP-адресов ограничен границами. Это значение будет использоваться приложениями, предназначенными для работы в Интернете. Этот параметр не разрешает обход сетевых адресов (NAT) с помощью реализации Windows Teredo. Эти приложения могут обойти брандмауэры IPv4, поэтому приложения должны быть защищены от атак Интернета, направленных на открытый порт. В Windows Server 2003 и Windows XP значение по умолчанию для уровня защиты IP-адресов в сокете ограничено границами. |
| Restricted | Уровень защиты IP-адресов ограничен. Это значение будет использоваться приложениями интрасети, которые не реализуют сценарии Интернета. Как правило, эти приложения не тестируются или защищены от атак в Интернете. Этот параметр ограничивает полученный трафик только локальной связью. |
| Неограниченный | Уровень защиты IP-адресов неограничен. Это значение будет использоваться приложениями, предназначенными для работы в Интернете, включая приложения, использующие возможности обхода IPv6 NAT, встроенные в Windows (Teredo, например). Эти приложения могут обойти брандмауэры IPv4, поэтому приложения должны быть защищены от атак Интернета, направленных на открытый порт. В Windows Server 2008 R2 и Windows Vista значение по умолчанию для уровня защиты IP-адресов в сокете неограниченно. |
| Не определено | Уровень защиты IP-адресов не указан. В Windows 7 и Windows Server 2008 R2 значение по умолчанию для уровня защиты IP-адресов в сокете не указано. |
Значение по умолчанию для атрибута ipProtectionLevel не указано.
Свойство IPProtectionLevel можно использовать для получения текущего значения атрибута ipProtectionLevel из применимых файлов конфигурации.
Файлы конфигурации
Этот элемент можно использовать в файле конфигурации приложения или файле конфигурации компьютера (Machine.config).
Example
В следующем примере показано, как указать, что порты завершения должны использоваться и что значение по умолчанию System.Net.Sockets.IPProtectionLevel должно быть неограниченно.
<configuration>
<system.net>
<settings>
<socket
alwaysUseCompletionPortsForAccept="true"
alwaysUseCompletionPortsForConnect="true"
ipProtectionLevel="Unrestricted"
/>
</settings>
</system.net>
</configuration>