voliuf.narod.ru

главная

друзья

помощь сайту

Конфигурирование и настройка Microsoft ASP.NET

Бесплатные учебники по темам

Партнерская программа

1.Обзор настройки Microsoft ASP.NET

2.Изучение архитектуры настроек ASP.NET

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

4.Настроечные параметры System.Web

5.Настроечные параметры мобильных элементов управления

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

7.Настроечные параметры CLR

8.Параметры IIS

9.Создание собственных параметров

 

Конфигурирование и настройка Microsoft ASP.NET
7.Настроечные параметры CLR
  
Три раздела, описываемые в этой лекции, настраивают параметры для CLR (common language runtime – общая среда выполнения промежуточного языка). Эти параметры задают версию среды выполнения, запуск сборщика мусора и параметры криптографии.
Предостережение Эти параметры должны задаваться только в файле machine.config сервера или в настроечном файле вашего приложения.

В этой лекции приведено описание следующих разделов.

  • <mscorlib>. Настраивает соответствия между дружественными именами и классами криптографии.
  • <runtime>. Определяет версию сборки и запуск сборщика мусора.
  • <startup>. Определяет среду выполнения CLR, используемую при выполнении приложения.

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

Раздел <mscorlib> содержит параметры для настройки некоторых криптографических возможностей Microsoft .NET Framework. Используемые элементы расположены в подразделе <cryptographySettings>.

Использование раздела <cryptographySettings>

Подраздел содержит два элемента, которые создают соответствия для криптографии и соответствия OID – <cryptoNameMapping> и <oidMap>.

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

Элемент <cryptoNameMapping> задает соответствия между классами безопасности и их дружественными именами. Он содержит два элемента – <cryptoClasses> и <nameEntry>.

Использование элемента <cryptoClasses>. Элемент <cryptoClasses> содержит список классов криптографии, которые будут иметь соответствующие им дружественные имена, объявленные с помощью элемента <nameEntry>. Элемент, используемый для создания ссылки на класс криптографии, называется <cryptoClass>. Ниже приведен его синтаксис.

<cryptoNameMapping>
  <cryptoClasses>
    <cryptoClass CryptoName="CryptoClass, AssemblyName" />
  </cryptoClasses>
</cryptoNameMapping>

Ниже показан пример элемента <cryptoClass>, использованного для объявления нового класса.

<cryptoNameMapping>
  <cryptoClasses>
    <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly
      Culture=neutral, PublicKeyToken=b77a5c561934e089,
      Version=1.0.0.0" />
  </cryptoClasses>
</cryptoNameMapping>

Для завершения создания соответствия имени можно использовать элемент <nameEntry>.

Использование элемента <nameEntry>. Элемент <nameEntry> ставит в соответствие классу, объявленному вами в разделе <cryptoClasses>, дружественное имя. Ниже приведен его синтаксис.

<cryptoNameMapping>
  <nameEntry name="friendly name" class="Crypto Class Name" />
</cryptoNameMapping>

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

Таблица 7.1. Свойства <nameEntry>
Свойство Описание
name Дружественное имя, используемое для создания экземпляра данного класса.
class Имя класса, указанное в элементе <cryptoClass>.

Ниже приведен пример использования элемента <nameEntry> со связанным элементом <cryptoClass>.

<cryptographySettings>
  <cryptoNameMapping>
    <cryptoClasses>
      <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly
        Culture=neutral, PublicKeyToken=b77a5c561934e089,
        Version=1.0.0.0" />
    </cryptoClasses>
    <nameEntry name="RSA" class="CustomRSA" />
  </cryptoNameMapping>
</cryptographySettings>

Создав такое соответствие, вы можете получить доступ к классу криптографии с помощью метода System.Security.CryptoConfig.CreateFromName. Просто передайте в метод CreateFromName имя класса, указанное в <nameEntry>. Чтобы создать экземпляр класса, объявленного в предыдущем примере, используйте System.Security.CryptoConfig.CreateFromName("RSA").

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

Элемент <oidMap> создает соответствия идентификаторов объектов OID или ASN.1 и классов. Идентификаторы объектов ASN.1 определяют алгоритм для некоторых криптографических форматов. Этот элемент включает один субэлемент – <oidEntry>.

Использование элемента <oidEntry>. Элемент <oidEntry> создает соответствие между числом OID и именем класса, указанным в элементе <nameEntry>. Ниже приведен его синтаксис.

<cryptographySettings>
  <oidMap>
    <oidEntry OID="OID Value" name="Class Name" />
  </oidMap>
</cryptographySettings>

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

Таблица 7.2. Свойства <oidEntry>
Свойство Описание
OID Определяет ASN.1 OID для алгоритма, реализованного вашим классом.
name Определяет имя класса, указанное в элементе <nameEntry>.

Ниже приведен пример элемента, использованного для создания соответствия между OID и классом, объявленным в элементе <nameEntry>.

<cryptographySettings>
  <cryptoNameMapping>
    <cryptoClasses>
      <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly
        Culture=neutral, PublicKeyToken= b77a5c561934e089,
        Version=1.0.0.0" />
    </cryptoClasses>
    <nameEntry name="RSA" class="CustomRSA" />
  </cryptoNameMapping>
  <oidMap>
    <oidEntry OID="1.3.14.33.42.46" name="RSA" />
  </oidMap>
</cryptographySettings>

Теперь OID будет ассоциирован с классом, объявленным в этом примере.

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

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

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

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

<developmentMode developerInstallation="true | false" />

В таблице 7.3 содержится свойство этого элемента.

Таблица 7.3. Свойство <developmentMode>
Свойство Описание
developerInstallation Определяет, будет ли среда выполнения искать сборки в переменной среды окружения DEVPATH.

true Среда выполнения использует этот путь.

false Среда выполнения не использует этот путь.

Ниже приведен пример этого элемента.

<runtime>
  <developmentMode developerInstallation="true" />
</runtime>

В примере задается указание среде выполнения производить поиск сборок в директориях, указанных в переменной среды окружения DEVPATH. Среда выполнения не смотрит на информацию о версии; она использует первую найденную сборку.

Использование раздела <assemblyBinding>

Раздел <assemblyBinding> содержит несколько подразделов и атрибутов. Вы можете использовать этот раздел для указания перенаправлений версий сборок и расположения других сборок. Сначала приведем описание атрибутов раздела <assemblyBinding>, а затем перейдем к субэлементам. Ниже приведен синтаксис этого раздела.

<assemblyBinding xmlns="xml namespace"
  appliesTo="framework version" />

В таблице 7.4 содержится перечень свойств этого раздела.

Таблица 7.4. Свойства <assemblyBinding>
Свойство Описание
xmlns Определяет пространство имен XML, которое требуется для привязки сборки.
appliesTo Определяет версию .NET Framework, к которой применяется перенаправление данной сборки. Атрибут был добавлен в версии 1.1 и игнорируется версией 1.0.

Ниже показан пример того, как следует использовать свойства этого раздела.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
  appliesTo="v1.0.3705" />

Здесь ограничивается перенаправление сборки только теми приложениями, которые выполняются в .NET Framework версии 1.0.

Элемент <assemblyBinding> содержит несколько субэлементов, с которыми вы познакомитесь дальше.

Использование раздела <dependentAssembly>

Элемент <dependentAssembly> содержит все спецификации для каждой сборки, которую нужно перенаправить. Он включает информацию об идентификации, месте расположения, список перенаправляемых версий и тому подобное. Этот элемент не имеет атрибутов, но содержит несколько субэлементов.

Использование элемента <assemblyIdentity>. Элемент <assemblyIdentity> содержит информацию о сборке, включая имя сборки, последовательность открытого ключа и культуру. Каждый элемент <dependentAssembly> должен содержать элемент <assemblyIdentity>. Ниже приведен синтаксис этого элемента.

<dependentAssembly>
  <assemblyIdentity name="assembly name" publicKeyToken=
    "assembly public key token" culture="assembly culture " />
</dependentAssembly>

В таблице 7.5 содержится перечень свойств этого элемента.

Таблица 7.5. Свойства <assemblyIdentity>
Свойство Описание
name Определяет имя сборки и является обязательным.
publicKeyToken Определяет последовательность открытого ключа, который входит строгим именем сборки.
culture Определяет страну или регион сборки (обычно равно neutral).

Ниже приведен пример этого элемента.

<dependentAssembly>
  <assemblyIdentity name="netMail"
    publicKeyToken="a1690a5ea44bab32" culture="neutral" />
</dependentAssembly>

Использование элемента <codeBase>. Элемент <codeBase> указывает среде выполнения CLR, где искать сборку. Ниже приведен синтаксис этого элемента.

<dependentAssembly>
  <codeBase version="assembly version"
    href="url location of assembly" />
</dependentAssembly>

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

Таблица 7.6. Свойства <codeBase>
Свойство Описание
version Определяет версию сборки, к которой применяется данный элемент.
href Определяет расположение сборки.

Ниже приведен пример этого элемента.

<dependentAssembly>
  <assemblyIdentity name="netMail"
    publicKeyToken="a1690a5ea44bab32" culture="neutral" />
  <codeBase version="1.0.0.0"
     style="color:#666666;" href="/external/?popup=0&url=http%3A%2F%2Fwww.microsoft.com%2Fnetmail.dll" onMouseOver="menuSetHelpText('external');return false;" onMouseOut="menuClearHelpText()" />
</dependentAssembly>

Использование элемента <bindingRedirect>. Элемент <bindingRedirect> перенаправляет одну версию сборки на другую. Ниже приведен синтаксис этого элемента.

<dependentAssembly>
  <bindingRedirect oldVersion="old assembly version"
    newVersion="new assembly version" />
</dependentAssembly>

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

Таблица 7.7. Свойства <bindingRedirect>
Свойство Описание
oldVersion Определяет версию сборки, которая будет перенаправлена. Можно также ввести диапазон номеров версий (1.0.0.0 – 2.0.0.1).
newVersion Определяет версию сборки, на которую будет перенаправлен запрос.

Ниже приведен пример этого элемента.

<dependentAssembly>
  <assemblyIdentity name="netMail"
    publicKeyToken="a1690a5ea44bab32" culture="neutral" />
  <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>

Когда ваше приложение производит доступ к сборке, вместо версии 1.0.0.0 сборки будет использоваться версия 2.0.0.0.

Использование элемента <publisherPolicy>. Элемент <publisherPolicy> может использоваться внутри элемента <dependentAssembly> или внутри элемента <assemblyBinding>. Автор сборки предоставляет файл политики издателя, который содержит информацию о переходе от одной сборки к другой. Ниже приведен синтаксис этого элемента.

<publisherPolicy apply="yes | no" />
  lists the property for this element.
Таблица 7.8. Свойства <publisherPolicy>
Свойство Описание
apply Определяет наличие политики издателя.

yes Политика издателя имеется и применяется.

no Политика издателя не применяется.

Ниже приведен пример того, как следует использовать этот элемент.

<dependentAssembly>
  <assemblyIdentity name="netMail"
    publicKeyToken="a1690a5ea44bab32" culture="neutral" />
  <publisherPolicy apply="no" />
</dependentAssembly>

Данный пример не применяет политику издателя для сборки netMail. Вы также можете использовать этот элемент в элементе <assemblyBinding>.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <publisherPolicy apply="no" />
</assemblyBinding>

Данный пример не применяет политику издателя для всех приложений.

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

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

<runtime>
  <assemblyBinding>
    <probing privatePath="sub directories" />
  </assemblyBinding>
</runtime>

Свойства элемента <probing> приведены в табл. 7.9.

Таблица 7.9. Свойства <probing>
Свойство Описание
privatePath Определяет список директорий, разделенных точкой с запятой, в которых среда выполнения производит поиск.

Ниже приведен пример элемента <probing>.

<runtime>
  <assemblyBinding>
    <probing privatePath="bin;bin\netmail;bin2" />
  </assemblyBinding>
</runtime>

Здесь среда выполнения включит в поиск сборок директории bin, bin\netmail и bin2.

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

В дополнение к использованию элемента <publisherPolicy> в элементе <dependentAssembly> можно использовать элемент <publisherPolicy> как субэлемент <assemblyBinding>. При использовании его в качестве субэлемента <assemblyBinding> элемент <publisherPolicy> применяется ко всем сборкам, а не только к одному приложению. Синтаксис и атрибуты элемента <publisherPolicy> аналогичны таковым субэлемента в элементе <dependentAssembly>.

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

Элемент <qualifyAssembly> задает соответствие между частичными именами сборок и их полными именами. Ниже приведен синтаксис этого элемента.

<runtime>
  <assemblyBinding>
    <qualifyAssembly partialName="partial name'
      fullName="full name' />
  </assemblyBinding>
</runtime>

Свойства этого элемента приведены в табл. 7.10.

Таблица 7.10. Свойства <qualifyAssembly>
Свойство Описание
partialName Определяет частичное имя сборки.
fullName Определяет полное имя сборки, находящейся в глобальном кэше сборок.

Ниже приведен пример этого элемента.

<runtime>
  <assemblyBinding>
    <qualifyAssembly partialName="netmail"
      fullName="netmail, version 2.0.0.0,
      publickeyToken=a1690a5ea44bab32, culture=neutral" />
  </assemblyBinding>
</runtime>

Теперь, при обращении к сборке netmail приложение будет перенаправляться на имя этой сборки в глобальном кэше сборок.

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

Элемент <gcConcurrent> определяет, будет ли среда выполнения CLR запускать сборщик мусора в текущем потоке выполнения или в отдельном потоке. Ниже приведен синтаксис этого элемента.

<runtime>
  <gcConcurrent enabled="true | false" />
</runtime>

В таблице 7.11 содержится свойство этого элемента.

Таблица 7.11. Свойства <gcConcurrent>
Свойство Описание
enabled Определяет запуск сборщика мусора в одном потоке с приложением.

true Сборщик мусора запускается в одном потоке с приложением.

false Сборщик мусора запускается в отдельном потоке выполнения.

Ниже приведен пример этого элемента.

<runtime>
  <gcConcurrent enabled="false" />
</runtime>

В примере устанавливается, что сборщик мусора запускается в отдельном от вашего приложения потоке.

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

Данный раздел настроечного файла определяет версию среды выполнения CLR, используемую при запуске приложения.

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

Элемент <requiredRuntime> определяет версию .NET Framework для запуска данного приложения. Он используется только приложениями, созданными посредством.NET Framework версии 1.0. Ниже приведен синтаксис этого элемента.

<startup>
  <requiredRuntime version="framework version"
    safemode="true | false" />
</startup>

Свойства элемента <requiredRuntime> перечислены в табл. 7.12.

Таблица 7.12. Свойства <requiredRuntime>
Свойства Описание
version Определяет версию .NET Framework, которая требуется для приложения. Значение должно в точности соответствовать имени директории, в которой находится .NET Framework.
safemode Определяет, будет ли приложение работать в "безопасном" режиме. При запуске приложения в безопасном режиме оно не проверяет в реестре версию среды выполнения.

true Приложение работает в безопасном режиме.

false Приложение не работает в безопасном режиме.

Ниже приведен пример этого элемента.

<startup>
  <requiredRuntime version="v1.0.3705" safemode="false" />
</startup>

Здесь задается использование приложением только версии 1.0 среды .NET Framework, а также запрещается выполнение в безопасном режиме, позволяя приложению обратиться за информацией о версии к реестру.

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

Элемент <supportedRuntime> определяет версию .NET Framework, которая будет поддерживаться приложением. Этот элемент работает с приложениями, созданными с использованием .NET Framework версии 1.1. Ниже приведен синтаксис этого элемента.

<startup>
  <supportedRuntime version="version number" />
</startup>

В таблице 7.13 содержится свойство элемента <supportedRuntime>.

Таблица 7.13. Свойство <supportedRuntime>
Свойство Описание
version Определяет версию .NET Framework, которая поддерживается приложением. Значение должно в точности соответствовать имени директории .NET Framework.

Ниже приведен пример этого элемента.

<startup>
  <supportedRuntime version="v1.0.3705" />
  <supportedRuntime version="v1.1.4122" />
</startup>

Здесь указывается, что приложение поддерживает обе версии .NET Framework – версию 1.0 и версию 1.1.

Ключевые моменты

  • Раздел <mscorlib> предоставляет разделы и элементы, которые создают соответствия между дружественными именами и OID и классами криптографии.
  • Раздел <runtime> содержит параметры для настройки сборок, используемых вместе с приложением.
  • Элемент <gcConcurrent> определяет запуск сборщика мусора в том же потоке выполнения, что и приложение, или в отдельном потоке.
  • Раздел <startup> определяет версию .NET Framework для запуска приложения.
 источник: http://www.INTUIT.ru 


 

13 центов(0,13$) за клик, выплаты через WebMoney каждый вторник +10% с рефералов

Мы выкупаем 100% трафа! $12 за 1000 хостов (РФ), и до $4 за 1000 хостов (зарубежный траф) + 10% с дохода Ваших рефералов!
 Выплаты через
WebMoney

~80-100$ за1000 хостов 2.5$ за 1 смс.
реф. процент - 10 %Выплаты происходят раз в неделю, в четверг на
WebMoney
 
 

 

____________________________

Посмотреть порно видео в онлайне »

_______________________________

 

   
   
Сайт управляется системой uCoz