Опубликован: 07.05.2010 | Уровень: для всех | Доступ: платный
Лекция 2:

Введение в Web-сайты

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Создание файла web.config

Файл настроек web.config является текстовым файлом с XML-разметкой. Его можно создать несколькими способами. Рассмотрим некоторые из них:

Способ 1

При первом запуске нового сайта на выполнение в оболочке Visual Studio 2005 командой Debug/Start Debugging появится сообщение


предлагающее добавить новый файл web.config с опцией включения отладки. Ниже будет предупреждение, что перед развертыванием отлаженного приложения эту опцию в файле настроек следует удалить. Щелчок на кнопке Ok заставит оболочку создать web.config в корне текущего приложения (но не в корне Web-дерева).

Способ 2

Можно воспользоваться утилитой Web Site Administration

  • Создайте новый сайт или в прежнем сайте удалите файл web.config
  • Выполните команду оболочки Website/ASP.NET Configuration

    Появится рендеринг (визуальное представление) страницы appConfigHome.aspx

  • Установите вкладку Application и щелкните на ссылке Configure debugging and tracing

    Запустится страница DebugAndTrace.aspx, которая сгенерирует следующий отклик

  • Выполните какое-нибудь действие, например, включите флажок Enable debugging, затем восстановите прежнее состояние настроек и закройте броузер со страницей утилиты. Обратите внимание, что при любом действие выполняется обратная отсылка PostBack
  • Нажмите кнопку Refresh в верхней части панели Solution Explorer оболочки, чтобы обновить это окно
  • Откройте появившийся файл web.config и Вы увидите пустую заготовку настройки параметров web-сайта
    <?xml version="1.0"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    </configuration>
  • Вновь запустите утилиту Web Site Administration и на странице DebugAndTrace.aspx включите флажок Enable debugging, чтобы добавить параметр отладки

Файл web.config станет таким

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <system.web>
        <compilation debug="true" />
    </system.web>
</configuration>

Способ 3

  • Выполните команду оболочки Website/Add New Item и выберите шаблон Web Configuration File

Оболочка создаст файл конфигурации, который затем можно настраивать либо напрямую в текстовом редакторе, либо через утилиту Web Site Administration.

Включение трассировки и ее настройка

Трассировка (след) применяется для анализа работы приложения, поскольку при каждом запросе очередной страницы среда исполнения ASP.NET включает в вывод служебную информацию, полезную при отладке. Эту информацию можно выводить как на запрашиваемых страницах вместе с откликом сервера (совмещенная трассировка), так и в отдельную служебную страницу Trace.axd, которая является виртуальной и исчезает при перезагрузке сервера (отделенная трассировка).

Следует помнить, что отладочная информация, если она включается в запрашиваемую страницу, доступна для просмотра в любом броузере. Она делает потенциально уязвимой систему безопасности сайта, поскольку содержит в себе важную информацию, включая переменные сервера, которой может воспользоваться злоумышленник для несанкционированного проникновения. Поэтому на рабочих Web-серверах хотя-бы совмещенную трассировку страниц непременно нужно отключать.

Элементы управления страницы DebugAndTrace.aspx включают трассировку и означают следующее

Параметры трассировки ASP.NET
Параметр утилиты Web Site Administration по умолчанию Параметр, добавляемый в Web.config при включении в утилите Описание
Capture tracing information enabled="true" Включает трассировку, результаты которой среда исполнения помещает в виртуальную страницу trace.axd, размещаемую в памяти сервера на время работы приложения. Ее можно прочитать по адресу (для приложения типа HTTP) http://localhost/Имя_приложения/ trace.axd. Эта страница создается IIS и хранится в памяти до перезагрузки компьютера
Display tracing information on individual pages pageOutput="true" Трассировочные данные размещаются внизу каждой запрошенной страницы. Параллельно трассировка для всех обработанных страниц помещается в виртуальную страницу trace.axd
Display trace output for:
Local requests only localOnly="true" - по умолчанию Добавляет трассировку в отклик страницы только тогда, когда она запрошена с того же сервера, где развернута ( по умолчанию )
All requests localOnly="false" Добавляет трассировку в отклик страницы по запросу, поступившему с любого компьютера
Select the sort order for trace results:
By time traceMode="SortByTime" - по умолчанию Результаты трассировки сортируются по времени
By category traceMode="SortByCategory" Результаты трассировки сортируются по секциям
Number of trace requests to cache: requestLimit="15" Количество запросов страниц приложения, сохраняемых средой исполнения в файле trace.axd. Этот же параметр определяет количество запросов первых запросов, при которых сервер присоединяет к индивидуальной странице трассировочную информацию при pageOutput="true"
Select which trace results to cache:
Most recent trace results mostRecent="true" Сохраняются результаты трассировки самых последних запросов
Oldest trace results mostRecent="false" - по умолчанию При достижении установленного количества запросов кэш трассировки перестает обновляться до следующего перезапуска приложения, сохраняя результаты трассировки самых первых запросов

В первой колонке таблицы показано состояние элементов управления утилиты, когда в web.config параметров нет и применяются настройки по умолчанию. Во второй колонке таблицы показаны параметры, которые добавляются в файл web.config при изменении состояния соответствующих элементов управления на отличное от состояния по умолчанию.

Совмещенная трассировка страниц

Сейчас мы попробуем включить трассировку страниц приложения так, чтобы трассировочная информация возвращалась вместе с рендерингом страницы

  • Запустите утилиту Web Site Administration и настройте ее элементы управления так
  • Откройте файл web.config приложения и убедитесь, что он стал таким
    <?xml version="1.0"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
        <system.web>
            <trace enabled="true" mostRecent="true" 
    			   pageOutput="true" requestLimit="15" />
            <compilation debug="true" />
    	</system.web>
    </configuration>
  • Настройте страницу Default.aspx так
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
        
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <h1 align="center" style="color: Red">
                    Привет всем!!!</h1>
            </div>
        </form>
    </body>
    </html>
  • Запустите приложение и получите примерно такой результат
  • Пощелкайте на кнопке Refresh броузера, инициируя все новые запросы к странице. Мы видим, что вместе с рендерингом страницы броузеру возвращается трассировка только текущего запроса
Но самый простой способ включения трассировки для конкретной страницы - добавить в директиву @ Page этой страницы параметр Trace="true".
< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Илья Онучин
Илья Онучин
Россия
Igor Chelyadinski
Igor Chelyadinski
Беларусь, Минск, №54, 2013