Опубликован: 24.01.2007 | Доступ: свободный | Студентов: 1250 / 82 | Оценка: 4.37 / 4.17 | Длительность: 14:27:00
ISBN: 978-5-94774-627-3
Лекция 6:

Настроечные параметры Microsoft .NET

Работа с разделом <authenticationModules>

Раздел <authenticationModules> – это раздел, основанный на коллекции, в которую можно добавлять модули аутентификации, удалять их из нее и полностью очищать коллекцию. Модули аутентификации выполняют аутентификацию для доступа к защищенным ресурсам. Ниже приведен синтаксис добавления в коллекцию модуля аутентификации.

<system.net>
  <authenticationModules>
    <add type="Module Class" />
  </authenticationModules>
</system.net>

Свойство type указывает на класс модуля аутентификации. Ниже показан пример добавления модулей аутентификации в коллекцию.

<authenticationModules>
  <add type="System.Net.DigestClient, System, Version=1.0.5000.0,
    Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add type="System.Net.BasicClient, System, Version=1.0.5000.0,
    Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</authenticationModules>

Добавление в коллекцию двух модулей делает эти два типа аутентификации доступными при выполнении запросов к защищенным ресурсам. Вы также можете удалить модули, ранее добавленные в коллекцию, используя элемент <remove> и указав в свойстве type удаляемый модуль.

<authenticationModules>
  <remove type="System.Net.DigestClient, System,
    Version=1.0.5000.0, Culture=neutral,
    PublicKeyToken=b77a5c561934e089" />
</authenticationModules>

Метод аутентификации digest при выполнении запросов теперь не доступен. Используйте метод <clear /> для удаления всех модулей, ранее добавленных в коллекцию.

Работа с разделом <connectionManagement>

Раздел <connectionManagement> указывает максимальное количество соединений с конкретным сайтом. Он основан на коллекции, то есть в него можно добавлять параметры, удалять их и полностью очищать коллекцию. Ниже приведен синтаксис для указания максимального количества соединений для конкретного сервера.

<system.net>
  <connectionManagement>
    <add name="IP or DNS name"
      maxconnection="number of connections" />
  </connectionManagement>
</system.net>

В таблице 6.6 содержится перечень свойств элемента <add>.

Таблица 6.6. Свойства <add>
Свойство Описание
name Определяет IP-адрес или DNS-имя сервера. Для указания всех серверов, которые еще не указаны явным образом в коллекции, используется символ подстановки " * ".
maxconnection Определяет максимальное количество соединений, которое может быть установлено с конкретным сервером.

Ниже показан пример использования элемента <add>.

<system.net>
  <connectionManagement>
    <add name="192.168.0.1" maxconnection="4" />
    <add name="www.microsoft.com" maxconnection="5" />
    <add name="*" maxconnection="2" />
  </connectionManagement>
</system.net>

В примере максимальное количество соединений для сервера, расположенного по адресу 192.168.0.1, равно четырем, а максимальное количество соединений для http://www.microsoft.com – пяти. Все остальные серверы ограничены двумя соединениями. Вы можете удалить спецификацию сервера, используя элемент <remove>.

<system.net>
  <connectionManagement>
    <remove name="www.microsoft.com" />
  </connectionManagement>
</system.net>

Используйте элемент <clear /> для удаления всех ранее добавленных ограничений на соединения.

Работа с разделом <defaultProxy>

В разделе <defaultProxy> настраивается использование прокси-сервера и адрес сервера, применяемого для веб-запросов. Здесь также имеются элементы и параметры, с помощью которых задается тип запросов, отправляемых через прокси.

Использование элемента <proxy>

Элемент <proxy> указывает используемый прокси и его применение для локальных запросов. Ниже приведен синтаксис элемента <proxy>.

<system.net>
  <defaultProxy>
    <proxy usersystemdefault="true | false" bypassonlocal=
      "true | false" proxyaddress="URI or IP of proxy server" />
  </defaultProxy>
</system.net>

В таблице 6.7 содержится перечень свойств элемента <proxy>.

Таблица 6.7. Свойства <proxy>
Свойство Описание
usersystemdefault Определяет использование прокси для веб-запросов.

true Используется прокси системы по умолчанию.

false Прокси системы по умолчанию не используется.

bypassonlocal Определяет, следует ли обходить прокси при доступе к локальным ресурсам.

true Прокси-сервер для локальных запросов не используется.

false Прокси-сервер для локальных запросов используется.

proxyaddress Определяет URI или IP-адрес прокси-сервера.

Ниже показан пример элемента <proxy>.

<system.net>
  <defaultProxy>
    <proxy usersystemdefault="false" bypassonlocal="true"
      proxyaddress="192.168.0.2" />
  </defaultProxy>
</system.net>

Если создан веб-запрос, и в свойстве proxy этого веб-запроса прокси не указан, то используется прокси, заданный здесь. В примере при адресации запроса не локальному ресурсу, для которого прокси не используется, прокси располагается по адресу 192.168.0.2.

Использование элемента <bypasslist>

Элемент <bypasslist> указывает любое количество регулярных выражений для определения того, должен ли для запроса использоваться прокси. Если запрошенный URI или IP совпадает с одним из регулярных выражений из этой коллекции, то для этого запроса прокси не используется. Элемент <bypasslist> основан на коллекции, то есть в него можно добавлять элементы, удалять их и полностью очищать коллекцию. Ниже приведен синтаксис элемента <bypasslist>.

<system.net>
  <defaultProxy>
    <bypasslist>
      <add address="regular expression" />
    </bypasslist>
  </defaultProxy>
</system.net>

Для любого запроса, URL которого совпадает с выражением, указанным в свойстве address, прокси-сервер использоваться не будет, например:

<system.net>
  <defaultProxy>
    <bypasslist>
      <add address="192\.168\..*" />
      <add address="[a-z]+\.microsoft\.com" />
    </bypasslist>
  </defaultProxy>
</system.net>

Для любого запроса, соответствующего этим выражениям, прокси-сервер использоваться не будет.

Геннадий Щербаков
Геннадий Щербаков

В начале года получил код dreamspark  H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При  его вводе- сообщение что он просрочен.