Практическое руководство. Включение отладки для приложений ASP.NET
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Экспресс-выпуск |
||||
Standard |
||||
Pro и Team |
Условные обозначения таблицы:
Применяется |
|
Не применяется |
|
Команда или команды, скрытые по умолчанию. |
Для включения отладки необходимо включить ее на странице Свойства проекта и в файле web.config приложения.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке, в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, в меню Сервис выберите команду Параметры импорта и экспорта. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Включение отладки ASP.NET в свойствах проекта (Visual Basic/C#)
В окне Обозреватель решений правой кнопкой мыши щелкните имя веб-проекта и выберите пункт Страницы свойств.
Появляется окно Страницы свойств <Проект>.
Перейдите на вкладку Веб.
В окне Отладчики установите флажок ASP.NET.
Включение отладки в файле web.config
Откройте файл web.config с использованием любого стандартного текстового редактора или анализатора XML.
- Удаленный доступ к этому файлу с помощью веб-обозревателя невозможен. Из соображений безопасности настройка служб Microsoft IIS ASP.NET осуществляется ASP.NET таким образом, чтобы предотвратить прямой доступ к файлам Web.config с помощью обозревателей. При попытке доступа к файлу конфигурации с помощью обозревателя будет выдана ошибка доступа HTTP 403.
Файл Web.config — это XML-файл, поэтому он содержит вложенные разделы, помеченные тегами. В следующем примере представлен обычный файл Web.config. Измените файл, выполнив следующие шаги:
Найдите тег <compilation>. Он обозначает начало раздела <compilation>.
В теге <compilation> будет создан атрибут отладки. В следующем примере объект debug является вторым атрибутом, указанном в теге <compilation>, но порядок его расположения не важен.
Атрибуты чувствительны к регистру, поэтому необходимо убедиться, что объект носит название "debug", а не "Debug" или "DEBUG".
Задайте значение параметра debug, равное true, как показано в следующем примере кода.
Если значение атрибута отладки не равно true и была предпринята попытка запуска сеанса отладки, то появится диалоговое окно, в котором предлагается создать файл web.config с установленным атрибутом. Примите и продолжите отладку.
Пример
<configuration>
<system.web>
<compilation defaultLanguage="VB"
debug="true"
numRecompilesBeforeAppRestart="15">
<compilers>
<compiler language="VB;VBScript"
extension=".cls"
type="Microsoft.VisualBasic.VBCodeProvider,system, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
< compiler language="C#;Csharp"
extension=".cs"
type="Microsoft.CSharp.CSharpCodeProvider,system, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</compilers>
<assemblies>
"" <add assembly="ADODB" />
<add assembly="*" />
</assemblies>
<namespaces>
<add namespace="System.Web" />
<add namespace="System.Web.UI" />
<add namespace="System.Web.UI.WebControls" />
<add namespace="System.Web.UI.HtmlControls" />
</namespaces>
</compilation>
</system.web>
</configuration>
Отказоустойчивость
С помощью объекта ASP.NET производится автоматическое обнаружение изменений в файлах Web.config и применяются новые параметры конфигурации. При этом нет необходимости перезагружать компьютер или IIS, чтобы изменения вступили в силу.
Веб-узел может содержать множество виртуальных каталогов и подкаталогов, а файлы Web.config могут присутствовать в каждом из них. Приложения ASP.NET наследуют параметры от файлов Web.config на высших уровнях в пути URL. Файлы иерархической конфигурации позволяют изменять параметры различных приложений ASP.NET одновременно, например, для всех приложений, расположенных ниже по иерархии. Однако если объект debug задан в файле, находящемся ниже по иерархии, то с его помощью будет переопределяться более высокое значение.
Например, можно указать значение debug="true" в файле, расположенном по адресу www.microsoft.com/aaa/Web.config, и любые приложения в папке aaa, а также любом подкаталоге aaa, будут наследовать эту настройку. Поэтому, если приложение ASP.NET находится по адресу www.microsoft.com/aaa/bbb, то оно будет наследовать эту настройку, а также ее будут наследовать любые приложения ASP.NET из каталогов www.microsoft.com/aaa/ccc, www.microsoft.com/aaa/ddd и т. д. Единственное исключение — случай, когда одно из приложений переопределяет настройку посредством собственного файла Web.config, находящегося ниже по иерархии.
Включение режима отладки сильно отразится на производительности приложения ASP.NET. Режим отладки следует отключить перед развертыванием конечного приложения или перед оценкой его производительности.