В начале года получил код dreamspark H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При его вводе- сообщение что он просрочен.
|
Настроечные параметры System.Web
Ключевые моменты <browserCaps>
Раздел <browserCaps> делает возможным настройку вывода HTML для большого количества браузеров и мобильных устройств. Скорее всего, при выполнении повседневных задач не придется использовать этот раздел, но важно знать его роль и то, как его информацию обновлять в будущем для учета возможностей новых браузеров и мобильных устройств. Вот ключевые моменты, относящиеся к этому разделу.
- Раздел <browserCaps> настраивает вывод HTML на основе браузера или мобильного устройства, который получает доступ к ресурсу.
- Раздел <browserCaps> использует для определения того, какой браузер или мобильное устройство получает доступ к ресурсу, доступные для него серверные переменные из заголовка запроса HTTP.
- Для выделения из запрошенных переменных строк, по которым определяется, помимо всего прочего, версия браузера и его возможности, используются регулярные выражения.
- Обновления этой информации скоро должны быть доступны на сайте http://www.cyscape.com/browserCaps
Работа с разделом <clientTarget>
Для большинства страниц, которые вы создаете с помощью ASP.NET, можно положиться на идентификацию браузера, выполняемую ASP.NET и разделом <browserCaps>, но иногда возникает ситуация, когда нужно предназначить страницу для определенного браузера. Здесь на сцену выходит раздел <clientTarget>. Раздел <clientTarget> содержит определенное количество псевдонимов браузеров, которые используются для генерации содержимого, предназначенного для конкретного браузера. Каждый псевдоним содержит значение userAgent, представляющее целевой браузер. Значение userAgent – это строка, которая находится в серверной переменной userAgent при доступе пользователя к приложению. Этот раздел по своей работе похож на разделы <appSettings> и <configSections>, и вы можете добавлять сюда новые псевдонимы, удалять их и очищать весь раздел. Ниже приведен раздел <clientTarget> по умолчанию из файла machine.config.
<clientTarget> <add alias="ie5" userAgent= "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" /> <add alias="ie4" userAgent= "Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" /> <add alias="uplevel" userAgent= "Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" /> <add alias="downlevel" userAgent="Unknown" /> </clientTarget>
Каждый псевдоним добавляет в коллекцию и связывается с конкретным значением userAgent. Первые два псевдонима относятся к браузерам класса Internet Explorer 4 или 5. Эти целевые браузеры очень похожи, если не одинаковы, так как используют высокоуровневый псевдоним целевого браузера. Высокоуровневый псевдоним заставляет страницу отображать элементы управления ASP.NET с помощью высокоуровневых настроек. Следующим типом псевдонимов является низкоуровневый псевдоним, который заставляет страницу отображать элементы управления ASP.NET в низкоуровневом режиме.
Высокоуровневые и низкоуровневые псевдонимы
В зависимости от того, установлен ли параметр clientTarget в значение uplevel или downlevel, различается отображение элементов управления ASP.NET. Низкоуровневый браузер понимает только HTML версии 3.2. Если вы предназначаете страницу для низкоуровневого псевдонима, страница при отправке HTML в браузер будет использовать только HTML 3.2. Высокоуровневый браузер или устройство должны уметь обрабатывать следующие технологии.
- ECMAScript версии 1.2 (JScript, JavaScript)
- HTML 4.0
- CSS
- The Microsoft Document Object Model (MSDOM)
Когда вы назначаете страницу для высокоуровневого браузера, страница будет отображаться с использованием CSS, HTML 4.0, ECMAScript 1.2 и MSDOM, извлекая все возможные преимущества от применения целевого браузера. Примерами высокоуровневых браузеров являются Internet Explorer 4.0 и выше.
Использование целевых клиентов в своих страницах
Предназначить свои страницы для конкретного целевого псевдонима очень просто. Каждая страница ASP.NET имеет вверху директиву @page, а директива @page имеет свойство clientTarget. Это свойство можно установить в значение псевдонима, который имеется в коллекции <clientTarget>, и страница будет отображаться с использованием этого псевдонима. Ниже показан пример использования свойства clientTarget.
<% @Page language="C#" clientTarget="downlevel" %>
Страница будет отображаться с использованием только низкоуровневых технологий – HTML 3.2. Данный параметр переопределяет любую идентификацию браузера, выполняемую ASP.NET и разделом <browserCaps>.
Добавление и удаление псевдонимов
Добавлять и удалять псевдонимы в раздел <clientTarget> очень просто, так как для этого используются те же элементы, что и для раздела <appSettings>. Ниже приведен синтаксис добавления в раздел <clientTarget> псевдонимов.
<clientTarget> <add alias="alias name" userAgent="User Agent Text" /> </clientTarget>
Свойство alias используется в свойстве clientTarget страницы ASP.NET. Свойство userAgent отражает серверную переменную userAgent, которая должна отправляться браузером. Если вы хотите добавить новый псевдоним для какого-либо браузера, вы получаете серверную переменную userAgent при доступе браузера к вашему сайту, а затем используете ее значение для добавления псевдонима для целевого браузера. Ниже показано, как удалять псевдоним, ранее определенный в разделе <clientTarget>.
<clientTarget> <remove alias="alias name" /> </clientTarget>
Удаление псевдонима из коллекции сделает этот псевдоним недоступным для всех страниц, на которые распространяется этот настроечный файл. Аналогично разделу <appSettings>, можно также использовать элемент <clear>, который удаляет все ранее добавленные в этот раздел псевдонимы. Ниже приведен синтаксис элемента <clear>.
<clientTarget> <clear /> </clientTarget>
Ключевые моменты <clientTarget>
Раздел <clientTarget> позволяет обходить обнаружение браузера ASP.NET по умолчанию и предназначать свои страницы для конкретного браузера или группы браузеров. Ниже приведены ключевые моменты, относящиеся к разделу <clientTarget>.
- Раздел <clientTarget> работает аналогично разделу <appSettings> в том, что вы можете использовать элементы <add>, <remove> и <clear> для добавления, удаления псевдонимов и полной очистки коллекции.
- Вы можете использовать свойство clientTarget директивы @page, чтобы страница отображалась в конкретном браузере, отличном от того, который определила система ASP.NET.
Работа с разделом <compilation>
Раздел <compilation> включает несколько параметров и элементов для настройки способа компиляции ASP.NET. Можно использовать различные элементы для добавления новых компиляторов языков подготовки сценариев ASP.NET и собственных сборок и настраивать различные параметры компиляции. Раздел <compilation> имеет несколько подразделов, но сначала рассмотрим свойства, устанавливаемые для элемента <compilation>. Ниже приведен синтаксис элемента <compilation>.
<compilation debug="true | false" batch="true | false" batchTimeout="amount of seconds" defaultLanguage="language" explicit="true | false" maxBatchSize="max number of pages" maxBatchGeneratedFileSize="max size in KiloBytes" numRecompilesBeforeAppRestart="number of recompiles" strict="true | false" tempDirectory="directory location"> </compilation>
Таблица 4.5 содержит перечень свойств элемента <compilation>.
Таблица 4.5 включает большой объем новой информации, так что давайте опишем ее более подробно.
- Visual Basic explicit. По умолчанию Visual Basic позволяет использовать переменные, которые не были явно объявлены, но это считается плохим стилем. Опция Visual Basic Explicit гарантирует, что каждая используемая переменная объявлена с помощью операторов Dim, ReDim, Private или Public. Если вы используете Visual Basic .NET, я крайне рекомендую оставить эту опцию в настроечном файле включенной.
- Visual Basic strict. По умолчанию Visual Basic позволяет выполнять некоторые сомнительные операции программирования. При включении опции strict Visual Basic генерирует сообщение об ошибке, если выполняется одна из следующих процедур:
- Пакетная компиляция. Страницы компилируются при первом доступе к ним, что приводит к небольшой задержке доступа к странице. Пакетная компиляция компилирует все еще не скомпилированные файлы из директории с файлом, к которому осуществляется доступ. Это означает, что доступ к первому файлу производится долго, но для последующих запросов таких задержек не будет.
Ниже приведен пример раздела <compilation>.
<compilation batch="true" batchTimeout="30" debug="false" defaultLanguage="c#" explicit="true" maxBatchSize="15" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15" tempDirectory="c:\temp" strict="true"> </compilation>
Имеется несколько подразделов, используемых в разделе <compilation>. Раздел <compilers> объявляет программы для компиляции страниц ASP.NET. Имеется набор компиляторов по умолчанию, включаемых в ASP.NET, но можно добавить компиляторы для обработки других языков, включая Delphi. Ниже приведен синтаксис раздела <compilers>.
<compilers> <compiler language="language names" extension="file extension" type=".NET type" warningLevel="level number" compilerOptions="list of options" /> </compilers>
Свойства раздела <compilers> перечислены в табл. 4.6.
Свойство | Описание |
---|---|
language | Разделенный точками с запятой список имен языков. Это имена, под которыми языки могут использоваться в свойстве language директивы @page. |
extension | Расширение файла, содержащего код на этом языке, например .cs для C# и .vb для Visual Basic. |
type | Класс, используемый для компиляции файлов, написанных на этом языке. |
warningLevel | Уровень предупреждений компилятора. |
compilerOptions | Список опций, передаваемых в компилятор при компиляции. |
Ниже показан элемент <compiler> для языка C#.
<compiler language="c#;cs;csharp" extension=".cs" type= "Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0. 5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
Перечислив три разных имени языка (c#; cs; csharp), при указании в свойстве language директивы @page языка C# можете использовать любое из этих трех имен. Элемент <compiler> позволяет добавлять новые языки программирования для написания программ для ASP.NET.
Добавление сборок к компиляции
Если вы когда-нибудь использовали один из компиляторов командной строки .NET, то знаете, что нужно включать сборки, которые требуется использовать при компиляции приложения. Раздел <assemblies> добавляет сборки, которые должны быть подключены при компиляции приложений ASP.NET. Аналогично разделу <appSettings>, этот раздел содержит коллекцию сборок, предназначенных для использования при компиляции приложений ASP.NET. Ниже приведен пример того, как добавлять сборку в раздел <assemblies>.
<assemblies> <add assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies>
Эта сборка будет подключаться всегда при компиляции приложений ASP.NET. Вы также можете удалить сборки, используя элемент <remove>.
<assemblies> <remove assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies>
При удалении из коллекции сборка больше не подключается при компиляции страниц ASP.NET. И снова, аналогично другим разделам, основанным на коллекциях, вы можете использовать элемент <clear>.
<assemblies> <clear /> </assemblies>
Он удаляет из коллекции все ранее добавленные в нее сборки.