Asp отладка сценариев asp


Содержание

Отладка сценариев aspx/cs без проекта VS2020

Кто-то передал мне аварийный скрипт aspx/.cs для отладки.

Любая идея, как настроить проект VS2020 для его отладки?

Я пытался использовать мастер, Visual С#, asp.net

Это работает нормально для одного набора страниц на сайте, Default.aspx и Default.aspc.cs

Когда я добавляю страницу, которую хочу отладить, я получаю кучу ошибок компиляции в файле cs, ссылаясь на объекты в aspx

и одна ссылка, я не вижу, как разобраться

Я иду об этом правильным путем?

VS2020 — Файл → Открыть → Веб-сайт

перейдите в локальную исходную папку и нажмите ОК

Щелкните правой кнопкой мыши на aspx, который вы хотите отладить. Выберите «Сделать стартовой страницей»

Отладка приложений ASP.NET MVC 5

ASP.NET — ASP.NET MVC 5 — Отладка приложений ASP.NET MVC 5

Отладка приложения ASP.NET MVC может быть организована тем же способом, что и отладка приложения ASP.NET Web Forms. Отладчик Visual Studio является мощным и гибким инструментом, обладающим множеством средств и возможностей. В этой статье мы рассмотрим его лишь поверхностно, показав как настраивать отладчик и выполнять различные действия по отладке проекта MVC.

Для демонстрации использования отладчика мы создадим новый проект ASP.NET MVC с применением шаблона MVC, просто чтобы вы увидели, как устанавливается стандартное содержимое и конфигурация, а также ознакомились с результатом применения стандартной темы к представлениям. Новый проект назван Web Applicaion 2, как показано на рисунке ниже:

Щелкните на кнопке ОК. Среда Visual Studio создаст проект и добавит стандартные пакеты, файлы и папки, которые включают шаблон MVC. На рисунке ниже демонстрируется применение файлов и настроек добавленных в проект:

Здесь присутствуют элементы-заполнители для названия приложения и бренда и несколько указателей на документацию по MVC, NuGet и веб-хостинг. В верхней части экрана расположена панель навигации, а компоновка обладает рядом возможностей чувствительного дизайна. Чтобы увидеть создаваемый ими эффект, измените ширину окна.

В качестве части первоначального содержимого проекта среда Visual Studio создала контроллер Home, но мы заменим добавленный ею код тем, который приведен ниже:

Среда Visual Studio также создала файл представления Views/Home/Index.cshtml, как часть настройки проекта. Нас не интересует его стандартное содержимое, поэтому мы заменяем его разметкой, показанной в примере ниже:

Последний подготовительный шаг, который понадобится предпринять — добавить стиль в файл /Content/Site.css и изменить один из существующих стилей. Файл Site.css создан средой Visual Studio в виде части шаблона проекта MVC и является стандартным местом размещения стилей CSS для приложения:

Запуск отладчика Visual Studio

Среда Visual Studio подготавливает новые проекты для отладки автоматически, однако полезно разобраться, каким образом можно изменять конфигурацию отладки. Важная настройка, связанная с отладкой, находится в файле Web.config, расположенном в корневой папке проекта, внутри элемента system.web:

При выполнении приложения на сервере IIS производится много работ по компиляции проекта MVC Framework, поэтому необходимо удостовериться, что во время процесса разработки атрибут debug дескриптора compilation установлен в true. Это гарантирует возможность отладчику взаимодействовать с файлами классов, получаемыми при компиляции по требованию.

В дополнение к файлу Web.config понадобится обеспечить включение средой Visual Studio отладочной информации в создаваемые ею файлы классов. Это не является критичным, но может вызвать проблемы, если разные настройки отладки не синхронизированы. Удостоверьтесь, что в панели инструментов Visual Studio выбрана конфигурация Debug (Отладочная), как показано на рисунке ниже:

Чтобы запустить отладку приложения MVC Framework, выберите пункт Start Debugging (Начать отладку) в меню Debug (Отладка) среды Visual Studio или щелкните на стрелке зеленого цвета в панели инструментов Visual Studio (на рисунке она находится слева от названия браузера, который будет использоваться для отображения приложения — в данном случае это Google Chrome).

Если при запуске отладчика атрибут debug в файле Web.config установлен в false, среда Visual Studio отобразит диалоговое окно, показанное на рисунке ниже. Выберите переключатель Modify the Web.config file to enable debugging (Модифицировать файл Web.config для включения отладки), щелкните на кнопке ОК и отладчик запустится:

В этот момент приложение запустится и отобразится в новом окне браузера. Отладчик присоединится к приложению, но вы не заметите никакой разницы до тех пор, пока не произойдет останов при отладке (что это значит — объясняется в следующем разделе). Чтобы остановить отладчик, выберите пункт Stop Debugging (Остановить отладку) в меню Debug среды Visual Studio или закройте окно браузера.

Останов отладчика Visual Studio

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

Использование точек останова

— это инструкция, которая сообщает отладчику о необходимости остановить выполнение приложения и передать управление программисту. После этого можно проинспектировать состояние приложения, посмотреть, что произошло, и (необязательно) возобновить выполнение.

Чтобы создать точку останова, щелкните правой кнопкой мыши на операторе кода и выберите в контекстном меню пункт Breakpoint Insert Breakpoint (Точка останова Вставить точку останова). В качестве демонстрации применим точку останова к первому оператору в методе действия Index() контроллера Home; на полях редактора кода напротив оператора появится точка красного цвета:

Для просмотра точки останова в работе запустите отладчик. Приложение будет выполняться вплоть до достижения оператора, к которому была применена точка останова, где отладчик приостановит работу приложения и передаст управление вам. Среда Visual Studio подсвечивает точку, в которой выполнение было остановлено, стрелкой желтого цвета, как показано на рисунке:

Точка останова активизируется, только когда выполняется ассоциированный с ней оператор. Рассматриваемый пример точки останова достигается сразу после запуска приложения, поскольку она находится внутри метода действия, который вызывается при получении запроса к стандартному URL. Если поместить точку останова внутрь другого метода действия понадобится с помощью браузера запросить URI, ассоциированный с этим методом. Это может означать работу с приложением так, как это делает пользователь, или навигацию непосредственно к URI в окне браузера.

Получив контроль над выполнением приложения, вы можете перейти на следующий оператор, зайти внутрь других методов и в целом исследовать состояние приложения. Все это можно делать с помощью кнопок панели инструментов или пунктов меню Debug среды Visual Studio. Вдобавок к предоставлению контроля над выполнением приложении среда Visual Studio предлагает множество полезной информации о состоянии приложения; в действительности информации настолько много, что в этой статье удастся рассмотреть только самые базовые сведения.

Просмотр значений данных в редакторе кода

Наиболее распространенное использование точек останова связано с отслеживанием ошибок в коде. Перед тем как можно будет исправить ошибку, понадобится выяснить, что происходит, и одним из самых полезных средств, предлагаемых Visual Studio, является возможность просмотра и отслеживания значений переменных прямо в редакторе кода.

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

Выполнение операторов в методе действия Index() не достигло точки, где переменной result присваивается значение, поэтому Visual Studio показывает стандартное значение, равное 0 для типа int. Выберите в меню Debug пункт Step Over (Выполнить без захода) или нажмите , чтобы переместить точку выполнения к оператору, который определяет свойство ViewBag.Message, и снова наведите курсор мыши на переменную result. Мы выполнили оператор, присваивающий значение переменной result, и эффект можно видеть на рисунке:

Описанное средство применяется в начале процесса отслеживания ошибки, поскольку он позволяет немедленно понять, что происходит внутри приложения; оно особенно полезно при выявлении значений null, которые указывают на то, что переменной не было присвоено значение (распространенная причина многих ошибок).

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

Просмотр состояния приложения в окне отладчика

Среда Visual Studio предоставляет несколько разных окон, которые можно использовать для получения информации о приложении, пока выполнение приостановлено в точке останова. Полный список доступных окон находится в меню Debug Windows (Отладка Окна), а двумя наиболее часто применяемыми окнами являются Locals (Локальные) и Call Stack (Стек вызовов). Окно Locals автоматически отображает значения всех переменных в текущей области видимости, как показано на рисунке ниже. Это обеспечивает всеобъемлющее представление переменных, которое наверняка будет интересным разработчику:

Переменные, значения которых изменились предыдущим выполненным оператором, показаны красным цветом. На рисунке это переменная result, т.к. только что был выполнен оператор, присваивающий ей значение.

Набор переменных, отображаемый в окне Locals, изменяется по мере прохождения по приложению, но если необходимо видеть какую-то переменную постоянно, следует щелкнуть правой кнопкой мыши на соответствующем элементе в окне Locals и выбрать в контекстном меню пункт Add Watch (Добавить наблюдение). Элементы в окне Watch (Наблюдение) не изменяются по мере выполнения операторов в приложении, предоставляя фиксированную контрольную точку.

Окно Call Stack отображает последовательность вызовов, которая привела к выполнению текущего оператора. Это оказывается очень полезным при попытке выявления причин странного поведения, поскольку можно раскрутить стек вызовов и исследовать обстоятельства, приведшие к активизации точки останова. (Мы не приводим здесь экранный снимок с окном Call Stack, поскольку нашему простому приложению не хватает глубины вызовов, чтобы предоставить сколько-нибудь полезную информацию в этом окне. Однако мы рекомендуем исследовать как упомянутое, так и другие окна Visual Studio, чтобы иметь понятие о том, какие сведения способен предоставлять отладчик.)

Точки останова можно добавлять и в представления. Например, они очень полезны при анализе значений свойств, относящихся к модели представления. Добавление точки останова в представление осуществляется точно так же, как в файл кода: щелкните правой кнопкой мыши на интересующем операторе Razor и выберите в контекстном меню пункт Breakpoint Insert Breakpoint.

Остановы из-за исключений

Необработанные исключения — это явление, присущее процессу разработки. Одна из причин проведения модульного и интеграционного тестирования в проектах — сведение к минимуму вероятности возникновения таких исключений в производственных версиях. В качестве помощи в поиске и устранении причин возникновения необработанных исключений, отладчик Visual Studio будет автоматически останавливаться, когда встретит такое исключение.

К останову отладчика приводят только необработанные исключения. Исключение становится обработанным, если оно было перехвачено и обработано в блоке try. catch. Обработанные исключения представляют собой полезный инструмент в программировании. Они используются для моделирования сценария, при котором метод не может завершить свою задачу и должен уведомить об этом вызывающий код. Необработанные исключения нежелательны, т.к. они представляют непредвиденные условия и в общем случае переносят пользователя на страницу ошибки.

Для демонстрации останова по исключению мы внесли небольшое изменение в метод действия Index() контроллера Home, как показано в примере ниже:

Мы изменили значение переменной secondVal на 0, что приведет к генерации исключения в операторе, в котором производится деление firstVal на secondVal. Мы также удалили точку останова из метода действия Index(), для чего щелкнули правой кнопкой мыши на значке точки останова, расположенном на полях редактора кода, и выбрали в контекстном меню пункт Delete Breakpoint (Удалить точку останова).

После запуска отладчика приложение будет выполняться вплоть до генерации исключения. Затем отобразится вспомогательное всплывающее окно исключения, показанное на рисунке ниже. Вспомогательное всплывающее окно исключения предоставляет подробности, связанные с исключением. Когда отладчик останавливается по исключению, можно проинспектировать состояние приложения и потока управления, как это обычно делается при достижении обычной точки останова.

Использование средства Edit and Continue

Одно из интересных средств отладки Visual Studio называется Edit and Continue (Отредактировать и продолжить). Когда отладчик останавливается, вы можете отредактировать код и продолжить отладку. Среда Visual Studio перекомпилирует приложение и воссоздаст состояние приложения на момент останова отладки.

Включение средства Edit and Continue

Средство Edit and Continue должно быть включено в двух местах:

В разделе Edit and Continue параметров Debugging (Отладка) диалогового окна Options (Параметры) (для его открытия выберите пункт Options в меню Tools среды Visual Studio). Удостоверьтесь, что флажок Enable Edit and Continue (Включить средство Edit and Continue) отмечен, как показано на рисунке ниже:

В окне свойств проекта (для его открытия выберите пункт MyProject Properties (Свойства MyProject) в меню Project среды Visual Studio) , щелкните на разделе Web и удостоверьтесь, что флажок Enable Edit and Continue отмечен, как показано на рисунке ниже:

Внесение модификаций в проект

Со средством Edit and Continue связаны кое-какие требования. Существуют условия при которых оно работать не будет. Одно из таких условий присутствует в методе действия Index() класса HomeController: использование динамических объектов. Чтобы обойти это, мы закомментируем строку кода в классе HomeController в которой применяется объект ViewBag, как показано в примере ниже:

В представление Index.cshtml понадобится внести соответствующее изменение:

Демонстрация работы средства Edit and Continue

Теперь все готово для демонстрации работы средства Edit and Continue. Начните с выбора пункта Start Debugging в меню Debug. Приложение запустится с присоединенным отладчиком, и будет выполняться вплоть до достижения строки в методе Index(), где производится простое вычисление. Значением второго параметра является 0, поэтому генерируется исключение. В этой точке отладчик останавливает выполнение и отображается вспомогательное всплывающее окно исключения (подобно показанному ранее).

Щелкните на ссылке Enable editing (Включить редактирование) во вспомогательном всплывающем окне исключения. В редакторе кода измените выражение, которое вычисляет значение переменной result, следующим образом:

Ссылка на переменную secondVal была удалена, а вместо нее введено числовое литеральное значение 2. Теперь выберите пункт Continue (Продолжить) в меню Debug среды Visual Studio, чтобы возобновить выполнение приложения. Новое значение используется для получения значения для переменной result, давая вывод, представленный на рисунке ниже:

Потратьте некоторое время на обдумывание того, что здесь произошло. Мы запустили приложение, содержащее ошибку — попытку деления на ноль. Отладчик обнаружил исключение и остановил выполнение программы. Мы отредактировали код и затем сообщили отладчику о необходимости продолжить выполнение. В этой точке среда Visual Studio перекомпилировала приложение, воссоздала состояния и продолжила выполнение обычным образом, используя новое значение.

Браузер получает визуализированный результат, который отражает это новое значение. Без средства Edit and Continue пришлось бы остановить приложение, внести изменение, скомпилировать приложение и перезапустить отладчик. Затем понадобилось бы повторить в браузере все шаги, которые были проделаны до момента останова отладчика. Наиболее важным может оказаться именно устранение этой необходимости в последнем действии. Воспроизведение сложных ошибок часто требует проведения множества шагов, поэтому возможность тестирования потенциальных исправлений без постоянного повторения таких шагов экономит время и усилия программиста.

Илон Маск рекомендует:  Статьи о доменах сайтов

Разработка ASP/COM+ Web приложений с использованием Team Developer v3.1

Сурен Бехари (Suren Behari)
менеджер по программным продуктам

Переведено БНТП по заказу Interface Ltd.

Введение

Популярность Web-приложений на основе технологии ASP (Active Server Page) связана с тем, что эта технология очень проста в изучении, обеспечивает высокую производительность, масштабируемость и гибкость, и наконец, что немаловажно, полностью поддерживается компанией Microsoft. По этой причине компания Gupta приняла решение, что в ее интересах обеспечить разработчиков способом создания Web-решений, которые основываются на этом весьма популярном серверном языке программирования сценариев.

Существует альтернативное Web-решение компании Gupta, известное как Web Extensions, основанное на использовании существующего SAL-интерфейса и бизнес-логики. В данном документе не обсуждается Web Extensions; более подробная информация об этом по адресу.

В настоящее время возможно построение и применение полностью масштабируемых COM-серверов при помощи мастера COM из продукта Team Developer. Теперь у разработчика есть возможность отладки COM-серверов, которые вызываются не клиентами Team Developer, такими как VB или ASP. Таким образом, используя версию 3.1 продукта Team Developer, разработчик может быстро приступить к построению решений на основе ASP/COM, сочетающих простоту ASP и производительность Team Developer. Данный официальный документ продемонстрирует подход к построению таких решений.

Общий обзор технологии ASP

ASP (Active Server Pages) – одна из наиболее широко используемых Web-технологий (по крайней мере на платформе Microsoft). Вам не придется просматривать слишком много Web-страниц, чтобы увидеть, что довольно большое их число заканчивается расширением .asp. Принципиальной причиной популярности ASP является то, что ASP позволяет разработчикам выполнять код, размещенный внутри web-страниц, используя понятный язык сценариев, такой как VBScript или Jscript (реализация JavaScript от компании Microsoft).

ASP – это не автономная технология. Это технология сценариев, исполняемых сервером, которая позволяет Вам генерировать динамичные интерактивные Web-страницы. При помощи ASP Вы можете получать информацию из HTTP запроса, посылать HTTP отклик назад Web-клиенту, сохранять пользовательскую информацию и определять возможности Web-клиента в области просмотра.

В простейшем случае ASP-страница – это типичный ASCII файл, которые содержит HTML и программный (VBScript или Jscript) коды, хотя в более сложных случаях решение на основе ASP может объединять web-приложения, содержащие HTML, Jscript/VBScript, SQL, ADO и COM/COM+ компоненты среди прочих.

Примечание: детальный обзор языков VBScript/Jscript не является целью данного Документа. Предполагается базовое знакомство с этими языками сценариев также, как и с основами форм HTML. Также предполагается знакомство с процессом создания и использования COM объектов в рамках продукта Team Developer. Более подробную информацию о последнем процессе можно найти в онлайновой документации на продукт Team Developer, примерах и других документах на Web-сайте.

IIS (Internet Information Server) – это Web-сервер производства компании Microsoft. Как правило, Web-серверы «подают» HTML-код браузерам (клиентам) по получении от них HTTP запросов. Когда IIS получает запрос на файл с расширением «.asp», он исполняет сценарии внутри этого файла, генерирует чистую HTML страницу и возвращает ее браузеру (клиенту), которые выдал запрос.

ASP поддерживает как Visual Basic Script, так и собственную реализацию JavaScript (Jscript), сделанную компанией Microsoft. Также существуют средства от третьих сторон, которые позволяют интегрировать другие популярные языки сценариев, такие как Perl, в решения ASP.

Для того, чтобы внедрение решений ASP было максимально простым, ASP содержит следующие 5 встроенных объектов:

  • Объект Сервер дает разработчику возможность управлять ресурсами сервера. Одним из наиболее широко используемых методов, которые он поддерживает, является метод CreateObject( ), который позволяет создать экземпляр COM объекта.
  • Объект Приложение хранит информацию и управляет ей на уровне приложения. Этот означает, что любая переменная объекта Приложение может быть использована во всех сессиях Web-приложения.
  • Объект Сессия хранит информацию и управляет ей на уровне пользовательской сессии. Обычно это дает возможность Web-приложению запомнить информацию о конкретной пользовательской сессии.
  • Объект Запрос позволяет собирать информацию, посылаемую через HTTP запрос.
  • Объект Отклик позволяет послать информацию назад к клиенту по протоколу HTTP.

Теги ‘ ’ используются внутри ASP страницы для указания начала и конца сценария, который Web-сервер должен выполнить на сервере вместо простой передачи и возврата HTML.

Пример ASP страницы в данном случае является лучшей иллюстрацией. Листинг 2.1- это ASP страница, которая извлекает виды продукта и цены из таблицы PRODUCT базы данных ISLAND, используя для этого объект “ADO recordrset”.

Листинг 2.1 Извлечение видов продукта и цен и демонстрация их в виде HTML таблицы.

Сценарий, приведенный выше, может быть помещен в файл ‘ADODemo.asp’ на PC, где установлен IIS. Если его разместить в корневой папке WEB-сервера, то результаты исполнения можно увидеть, если в адресной строке браузера ввести URL http://localhost/ADODemo.asp.

Данный простой пример показывает, как ASP сценарий может быть размещен внутри HTML-кода для получения динамической страницы, содержимое которой зависит от содержимого таблицы базы данных; изменение данных в таблице будет отражено в HTML-коде, возвращаемом браузеру, сделавшему запрос. Если пользователь, сделавший запрос, захочет просмотреть исходный HTML-код, то он увидит НЕ сам ASP сценарий, а только HTML-код, который был сгенерирован в результате исполнения этого сценария. Таким образом, он увидит нечто похожее на то, что приведено на следующем листинге.

Листинг 2.2 HTML-код, сгенерированный вышеприведенным ASP сценарием

ASP и COM

ASP программирование, показанное выше, отлично подходит для относительно маленьких и простых web-страниц. Однако в реальных ситуациях решения, основанные целиком на сценариях, становятся слишком громоздкими. Не последнее место среди трудностей по сопровождению такого кода занимают весьма ограниченные возможности ASP по отладке.

По этой причине COM (Component Object Model фирмы Microsoft) очень хорошо подходит для решений на основе ASP. COM дает возможность использования решений типа «черного ящика»; пользователь COM-объекта должен знать только о его интерфейсах, методах и свойствах.

Основные причины для использования COM-компонентов совместно с ASP заключаются в следующем.

  • Повторное использование: довольно сложно разместить ASP-сценарий так, чтобы его можно было повторно использовать на нескольких различных страницах. Компоненты дают возможность более эффективного управления и повторного использования определенной функциональности, например, доступа к данным.
  • Безопасность: иногда важно сохранить исходные коды от потенциальных опасностей. Размещение их в COM компонентах поможет выполнить такое требование.
  • Масштабируемость: COM компоненты сами по себе не обязательно должны находиться на том же компьютере, что и Web-сервер. Когда компания Microsoft выпустила технологию ASP, она также предложила и Microsoft Transaction Server (MTS), который обеспечивает управление транзакциями для приложений, построенных с применением COM технологии.
  • Взаимодействие: в дополнение к предыдущему пункту существует возможность выходить за пределы объектных систем и получать доступ к объектам, которые относятся к другим стандартам, таким как CORBA; известны продукты третьих компаний, облегчающие это.
  • Простота разработки: COM объекты можно создавать в рамках Team Developer, и, поступая таким образом, Вы защищаете свои ранее сделанные инвестиции. Кроме того, если Вы хоть однажды пытались отлаживать ASP-страницу, то Вы быстро оцените выгоды от возможности использования для этой цели своего любимого отладчика. Создавая COM объекты средствами Team Developer, Вы можете легко отлаживать их динамически, даже когда они вызываются из ASP-страницы. Таким образом, среда Team Developer эффективна и при разработке на основе технологии ASP.

Поэтому по причинам, названным выше, настоятельно рекомендуется, чтобы объекты COM были частью любого существенного Web-решения на основе ASP. Team Developer версии 3.1 отлично подходит любому разработчику, обладающему опытом использования языка SAL и основ COM.

Давайте рассмотрим еще одно простое ASP-решение, но на этот раз для получения требуемой нам функциональности мы используем COM-объект, написанный в Team Developer. Для максимального упрощения мы начнем с Web-страницы, содержащей HTML-форму (ASP_Add.htm) с двумя полями. После подтверждения эта форма вызовет ASP страницу (ASP_Add.asp). ASP-страница породит COM объект (ASP_COM.ASPTestObject), а уже из этого объекта будет вызван метод/функция AddStr(). Метод просто объединит любые значения, помещенные в два поля ввода и вернет результат.

На практике зачастую начальная HTML-форма и ASP-страница объединены, но в данном случае, материал упрощен насколько возможно с тем, чтобы подробно остановиться на процессе использования COM-объектов в ASP-сценарии. Позже будут рассмотрены обратные примеры с необходимостью использования отдельной HTML-страницы.

Листинг 3.1 HTML-страница, вызывающая ASP сценарий после подтверждения формы (ASP_Add.htm)

Листинг 3.2 ASP страница, вызванная после подтверждения формы, заданной выше (ASP_Add.asp)

Используя Team Developer 3.1, мы можем быстро создать CoClass и Интерфейс (ASPTestObject и IASPTestObject соответственно). К интерфейсу мы добавляем функцию/метод AddStr( ), SAL-код которой приведен ниже.

Листинг 3.3 COM-объект в Team Developer

Примечание: ВСЕ исходные файлы приводятся для пояснения данного документа.

Таким образом, для ЛЮБОГО источника/провайдера данных, у которого есть механизм доступа OLE DB, код Team Developer может обеспечить легко программируемый доступ, который будет знаком любому, у кого есть опыт работы с SAL/SQLWindows.

Вместо использования SqlConnect( ) для получения обработчика Sql для источника данных разработчику потребуется использовать вызовы SqlCreateSession( ) и SqlCreateStatement( ); а вместо использования вызова SqlDisconnect( ) для отключения от источника – вызов SqlFreeSession( ). Для большинства стандартных SQL операций все используемые Sql…( ) функции будут такими же, как и при непосредственном подключении (например, SqlPrepare( ), SqlExecute( ), SqlFetNext( ) и т.д.).

При таком простом переходе к использованию механизма OLE DB для доступа к любому источнику данных (помните, что источники данных могут быть не только реляционными базами данных) программист Team Developer может легко использовать OLE DB в составе Web-решений на основе ASP/COM. Простота, с которой это достигается, показана на ниже приведенном листинге. В данном примере для создания класса CoClass (OLE DB) с единственным Интерфейсом (IOLEDB) использован Мастер классов COM среды Team Developer. Интерфейс предоставляет 6 методов (Connect, Disconnect, NextProduct, Price, SelectProducts and Style).

Листинг 4.1 Методы Интерфейса IOLEDB (ASP_COM_OLEDB.app)

Метод Connect демонстрирует, насколько просто подключиться к источнику данных, используя OLE DB из состава Team Developer. В данном случае мы применяем механизм доступа SQLBaseOLEDB, но при изменении параметра строки подключения, передаваемого функции SqlCreateSession( … ) можно использовать любой другой механизм OLE DB. Следует упомянуть также метод Disconnect, вследствие использования в нем функции SqlFreeSession( … ). Кроме этих двух методов используемая функциональность должна быть сразу же понятна любому разработчику, знакомому с использованием Sql… функций в среде Team Developer/SQLWindows.

Листинг 4.2 Фактические переменные Интерфейса IOLEDB (ASP_COM_OLEDB.app)
В данном примере демонстрируется простота, с которой может быть вызван описанный выше COM-сервер.

Листинг 4.3 ASP страница, использующая COM сервер ASP_COM_OLEDB.OLEDB (ASP_OLEDB.asp)

Необходимо отметить, что разработчик может использовать объектную модель ADO напрямую из своего ASP-сценария, как это сделано в листинге 2.1, но при этом требует знакомства с подобной моделью данных. Пример, приведенный выше, показывает, насколько просто разработчик Team Developer может создавать ASP решения на основе OLEDB, используя уже существующие у него навыки.

Наконец, если разработчик действительно хочет использовать объектную модель ADO, ничто не мешает ему сделать это в рамках COM объекта, так как это позволит использовать преимущества инкапсуляции максимального объема логики в составе COM объектов, которые были описаны выше в разделе 3.

Для реального увеличения масштабируемости решений на основе ASP технологии компания Microsoft предоставляет инструмент/службу API для обеспечения управления компонентами и транзакциями, который называется Microsoft Transaction Server (MTS). MTS обеспечивает управление транзакциями для COM компонентов и является эффективным инструментом управления компонентами, который предоставляет механизм миграции сервера и клиента, а также службу регистрации компонентов. Дополнительную информацию о MTS можно найти в соответствующем официальном документе. Использование ASP и MTS существенно обогащается подключением OLE DB/ADO, которые обеспечивают общие средства доступа к данным независимо от их структуры.

Отладка COM+ и ASP

Использование Team Developer 3.1 делает возможным выполнять активную отладку COM-сервера, разработанного при помощи Team Developer, независимо от того, откуда он вызван. Таким образом, COM-сервер, написанный в Team Developer, вызванный из ASP или VB, может быть отлажен столь же просто, как и сервер, вызванный из другого клиента Team Developer.

Все, что нужно сделать для вызова режима отладки, — это открыть исходный код уже сформированного и зарегистрированного COM объекта, а затем вызвать команду меню Debug/Go (или использовать клавишу F7). Необходимо задать точку останова в подходящем месте в любой из функций Интерфейса, после чего вернуться в клиентское приложение, которое будет использовать этот COM объект, и запустить его; если это ASP сценарий, вызвать его, используя http в браузере.

Если клиентское приложение вызовет метод сервера, в котором задана точка останова, то, вернувшись в Team Developer, разработчик может пошагово пройти SAL-код, имея доступ ко всем существующим средствам отладки. Основной момент, о котором следует помнить, это то, что для проведения отладки необходим предварительный запуск сервера (Debug / Go или F7); про этот шаг часто забывают.

  • Team Developer 3.1
  • Microsoft Internet Information Server

За дополнительной информацией обращайтесь в компанию Interface Ltd.


Страница «ASP»

Страница свойств ASP предназначена для управления списком параметров конфигурации (классического) ASP.

Список Отобразить позволяет выбрать один из следующих вариантов, которые определяют способ представления параметров: Понятные имена, Имена параметров конфигурации или Оба имени.

Список элементов пользовательского интерфейса

В приведенной ниже таблице содержатся описания элементов интерфейса, которые доступны на странице компонента и на панели Действия.

Элементы страницы компонента

Кодовая страница [codePage]

Указывает для приложения ASP кодовую страницу по умолчанию.

Включить буферизацию [bufferingOn]

Указывает, следует ли в приложении ASP буферизовать вывод. Значение по умолчанию – True.

Разрешить поблочное шифрование [enableChunkedEncoding]

Указывает, включено ли в службе веб-публикаций шифрование данных частями (HTTP 1.1). Значение по умолчанию – True.

Разрешить выдачу резервного HTML [enableAspHtmlFallback]

Управляет поведением ASP при переполнении очереди запросов. Если установлено значение True, то в указанном случае ASP произведет поиск HTML-файла, к имени которого добавлен суффикс «_asp», и если такой файл будет найден, возвратит его. Например, если обрабатывается запрос к файлу «Hello.asp», то возвращаемый HTM-файл должен иметь имя «Hello_asp.htm». Если такой файл не существует, клиенту будет возвращена HTTP-ошибка 500.13 (Сервер перегружен). Если установлено значение False, то также будет возвращена ошибка. Значение атрибута по умолчанию – True.

Включить пути к родительским каталогам [enableParentPaths]

Указывает, допускает ли страница ASP указание пути относительно текущего каталога (при использовании записи «. \») или выше текущего каталога. Значение по умолчанию – False.

Интервал проверки подключения клиента [queueConnectionTestTime]

Указывает период времени, в течение которого должен быть обслужен запрос, поставленый в очередь. Если он находился в очереди дольше, чем указывает данный атрибут, то перед выполнением запроса ASP проверяет, подключен ли еще клиент к серверу. Если соединение с клиентом разорвано, то запрос не обрабатывается и удаляется из очереди. Значение по умолчанию – 3 секунды.

Максимальный размер основного текста запроса [maxRequestEntityAllowed]

Определяет максимальный размер в байтах основного текста запроса ASP. Значение по умолчанию – 200 000 байт.

Длина очереди [requestQueueMax]

Задает максимальное число запросов ASP, которые могут находиться в очереди. Значение по умолчанию – 3000.

Время ожидания очереди запросов [queueTimeout]

Определяет максимальный период времени, в течение которого запрос сценария ASP может ожидать в очереди. Значение по умолчанию – 00:00:00 (неограниченно).

Предел буферизации ответов [bufferingLimit]

Устанавливает максимальный размер буфера ASP. Если буферизация ответа включена, это свойство задает максимальный размер в байтах, который ASP-страница может записать в буфер ответа, до того как произойдет его очистка. Значение по умолчанию – 4 194 304 байт.

Время ожидания сценария [scriptTimeout]

Задает период времени по умолчанию, в течение которого страницам ASP разрешено выполнение сценария. По прошествии этого времени предпринимается попытка остановить сценарий и в журнал событий Windows записывается соответствующее событие. Значение по умолчанию – 1 мин 30 сек.

Максимальное число потоков на процессор [processorThreadMax]

Задает максимальное число рабочих потоков на процессор, которые службы IIS могут создать при обработке запросов ASP. Значение по умолчанию – 25.

Задает код языка (LCID) по умолчанию для приложения. LCID определяет способ форматирования даты, времени и денежных единиц. Код по умолчанию – 1033 (en-us), обозначающий английский язык (США).

Перезапуск при изменении конфигурации [enableApplicationRestart]

Определяет, следует ли автоматически перезапускать приложение ASP при изменении его критических параметров конфигурации. Значение по умолчанию – True.

Подсчет номеров строк [calcLineNumber]

Указывает, следует ли ASP подсчитывать и хранить номера каждой из строк выполняемого кода для их последующей выдачи в сообщениях об ошибках. Значение по умолчанию – True.

Перехватывать исключения компонентов COM [exceptionCatchEnable]

Определяет, должны ли страницы ASP перехватывать исключения, возникшие в компонентах. Если установлено значение False, то страницы ASP не перехватывают исключения, возникшие в компонентах. Это может привести к обработке исключения на другом уровне обработки, например сценарием VB Script или рабочим процессом IIS (обычно это приводит к завершению рабочего процесса). Значение по умолчанию – True.

Разрешить отладку на стороне клиента [appAllowClientDebug]

Указывает, включена ли отладка ASP на стороне клиента. Значение по умолчанию – False.

Разрешить запись в журнал ошибочных запросов [logErrorRequests]

Определяет, записывает ли веб-сервер ошибки ASP в раздел приложений журнала событий Windows. По умолчанию ошибки ASP выводятся в веб-браузер клиента и в файлы журнала IIS. Значение по умолчанию – True.

Разрешить отладку на стороне сервера [appAllowDebugging]

Указывает, включена ли отладка ASP на сервере. Значение по умолчанию – False.

Запись ошибок в журнал событий [errorsToNTLog]

Определяет, какие ошибки ASP записываются в журнал событий Windows. По умолчанию ошибки ASP выводятся в веб-браузер клиента и в файлы журнала IIS. Значение по умолчанию – False.

Выполнять функции On End анонимно [runOnEndAnonymously]

Определяет, будут ли глобальные функции ASP SessionOnEnd и ApplicationOnEnd запускаться от имени анонимного пользователя. Если значение атрибута False, эти функции не запускаются. Значение по умолчанию – True.

Сообщение об ошибке сценария [scriptErrorMessage]

Определяет сообщение об ошибке, передаваемое браузеру, если отладочные сведения об ошибке не отправляются клиенту. По умолчанию выдается следующее сообщение: «Ошибка на сервере при обработке URL-адреса. Обратитесь к системному администратору».

Выводить ошибки в веб-браузер [scriptErrorSentToBrowser]

Определяет, должен ли веб-сервер отправлять браузеру клиента отладочную информацию об ошибке (код и описание ошибки, имя файла и номер строки) помимо ее регистрации в журнале событий IIS. Значение по умолчанию – True.

Язык сценариев [scriptLanguage]

Задает используемый по умолчанию язык сценариев для всех приложений ASP на данном веб-сервере. Значение по умолчанию – «VBScript».

Путь к каталогу кэша [diskTemplateCacheDirectory]

Содержит имя каталога, в котором ASP сохраняет скомпилированные шаблоны ASP после переполнения кэша в памяти. Значение по умолчанию — systemroot\inetpub\temp\ASP Compiled Templates.

Включить кэширование библиотек типов [enableTypelibCache]

Указывает, производится ли кэширование на сервере библиотеки типов. Значение по умолчанию – True.

Максимальное число файлов, кэшируемых на диске [maxDiskTemplateCacheFiles]

Указывает максимальное число сохраняемых скомпилированных шаблонов ASP. Значение по умолчанию – 2 000.

Максимальное число файлов, кэшируемых в памяти [scriptFileCacheSize]

Определяет число помещаемых в кэш заранее скомпилированных файлов сценариев. Если атрибут имеет значение 0, то файлы сценариев не кэшируются. Значение 4 291 967 295 указывает, то кэшируются все запрошенные файлы сценариев. Это свойство предназначено для настройки производительности в зависимости от объема доступной памяти и интенсивности обмена данными. Значение по умолчанию – 500.

Максимальное число кэшируемых обработчиков сценариев [scriptEngineCacheMax]

Задает максимальное число обработчиков сценариев, кэшируемых в памяти ASP-страницами. Значение по умолчанию – 250.

Разрешить параллельный вызов компонентов [appServiceFlags]

Включает работу параллельных сборок COM+, что позволяет ASP-приложению указать, какую версию системной DLL-библиотеки или COM-компонента следует использовать. Значение по умолчанию – False.

Включить регистрацию событий COM+ [appServiceFlags]

Включает средство регистрации событий COM+, которое позволяет администраторам и разработчикам производить отладку приложений ASP. Значение по умолчанию – False.

Выполнять в MTA [executeInMta]

Определяет, следует ли ASP выполнять сценарии в многопоточном отделении. Значение по умолчанию – False.

Учитывать потоковую модель компонента [trackThreadingModel]

Указывает, должна ли в IIS выполняться проверка потоковой модели для всех компонентов, создаваемых приложением. Значение по умолчанию – False.

Код раздела [partitionID]

Этому свойству присваивается идентификатор GUID раздела COM+. Если оно определено, установите для элемента Использовать раздел значение True.

Параллельно используемый компонент [sxsName]

Этому свойству присваивается имя приложения COM+. Если оно определено, установите для элемента Разрешить параллельный вызов компонентов значение True.

Использовать раздел [appServiceFlags]

Изолирует каждое из приложений в своем разделе COM+. Если для этого свойства установлено значение True, необходимо определить значение для элемента Код раздела. Значение по умолчанию – False.

Разрешить сохранение состояния сеанса [allowSessionState]

Включает сохранение состояния сеанса для приложения ASP. Значение по умолчанию – True.

Максимальное число сеансов [max]

Задает максимально допустимое число параллельных сеансов в IIS. Значение по умолчанию – 2 147 483 647.

Создать идентификатор для безопасного подключения [keepSessionIdSecure]

Создает новый файл cookie при переходе от незащищенного к безопасному подключению. Значение по умолчанию – True.

Время ожидания [timeout]

Задает период времени, в течение которого будет поддерживаться объект Session после обработки последнего связанного с ним запроса. Значение по умолчанию – 20 минут.

Элементы панели «Действия»

Имя элемента Описание

Позволяет сохранить изменения, внесенные на странице компонента.

Позволяет отменить изменения, внесенные на странице компонента.

ASP Classic Script Отладка отладки на IIS6?

У меня есть приложение ASP Classic, которое было перенесено с сервера Windows 2000 на сервер Windows 2003 R2 по разным причинам. Большинство классических ASP работает отлично. Проблема в том, что одна страница всегда возвращает «Script Timeout» в журнал и 500 ошибок для пользователя. Я попытался отключить CustomErrors, но до сих пор не знаю, какая строка кода вызывает ошибку. Может ли кто-нибудь дать представление о том, как найти линию, которая отключена?

6 ответов

0 bjorsig [2011-03-10 02:19:00]

Если журналы не сообщают вам ничего, тогда вам нужно убедиться, что IIS обращается к странице, я бы добавил

в самой верхней части страницы, если он печатает что-то, то вы знаете, что проблема находится на странице, и вам нужно проанализировать vb- script, чтобы найти код, который останавливается. Response.End весьма полезен для этой цели.

Попробуйте использовать Option Explicit, чтобы получить более ясную ошибку — это может изначально вызвать больше ошибок, поскольку вам нужно правильно объявить каждую переменную, но это дайте более подробные сообщения об ошибках.

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

Есть ли проверенные журналы IIS, и вы проверили, что они регистрируются столько, сколько они могут? По умолчанию они находятся в Windows или WinNT\system32\logs. Менеджер IIS точно скажет вам.

Вы также можете добавить некоторые записи в текстовый файл или распечатать на экран, чтобы узнать, помогает ли вам диагностировать проблему.

0 ulluoink [2011-03-11 14:09:00]

в iis установите значение «отправить ошибки в браузер» в значение true. то полное сообщение об ошибке, вкл. номера строк отправляются клиенту. (в IE вы должны установить «показывать короткие ошибки http на false» )

alternativley устанавливает «отладка серверов» в iis до true и в вашем script (если вы используете vbscirpt), вы можете использовать ключевое слово «stop» vbscript.

появится подсказка для отладки

Я использую следующий код для поиска ошибки на странице ASP.

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

Или вы можете использовать эту конфигурацию в файле web.config, если используете IIS 7 +

Создайте собственный ASP файл ошибки. Назовите его 500-100.asp

Настройте страницы пользовательских ошибок IIS для вызова этой страницы. Вы должны установить его для 500.100 errors .

Проверьте эту ссылку, чтобы узнать, как установить страницу пользовательской ошибки в IIS 7 +

Проверьте эту ссылку, чтобы узнать, как установить пользовательскую страницу ошибки в IIS 6

0 Dee [2011-03-10 06:25:00]

Похоже, вы попали на фазу отладки.

На странице оскорбления начните удаление кода, пока не получите что-то для работы. Последнее, что удалено, вероятно, является проблемой.

Технология ASP.NET AJAX

Клиентская архитектура технологии AJAX

Клиентская архитектура включает библиотеки для поддержки компонентов, совместимость с обозревателями, сетевые средства и базовые службы

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

  • невизуальные объекты, инкапсулирующие код, как объект, представляющий таймер;
  • поведения, расширяющие базовое поведение существующих элементов DOM ;
  • Элементы управления, представляющие новый элемент DOM, обладающий пользовательским поведением.

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

Библиотеки клиентских сценариев AJAX в ASP.NET состоят из файлов JavaScript (с расширением JS), содержащих функциональные элементы, используемые для объектно-ориентированной разработки. Объектно-ориентированные возможности, включенные в библиотеки клиентских сценариев AJAX в ASP.NET, обеспечивают высокий уровень совместимости и модульности при написании клиентских сценариев. В состав клиентской архитектуры входят следующие базовые службы:

  • Объектно-ориентированные расширения JavaScript, такие как классы, пространства имен, обработка ошибок, наследование, типы данных и сериализация объектов .
  • Библиотека базовых классов, включающая такие компоненты, как построители строк и расширенная обработка ошибок.
  • Поддержка библиотек JavaScript, внедренных в сборку или предоставляемых в виде отдельных файлов JavaScript (с расширением JS). Внедрение библиотек JavaScript в сборку облегчает развертывание приложений и помогает в решении проблем, связанных с поддержкой разных версий кода.

Cерверная архитектура AJAX

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

Поддержка сценариев

Возможности AJAX в ASP.NET реализуется с использованием служебных сценариев, отправляемых сервером клиенту. В зависимости от того, какие возможности AJAX требуются приложению, обозревателю отправляются разные сценарии.

Можно также создавать пользовательские клиентские сценарии для приложений ASP . NET . В таком случае можно использовать возможности AJAX для управления пользовательскими сценариями как статическими JS-файлами (на диске) или JS-файлами, внедренными в сборку в качестве ресурсов.

Возможности ASP.NET AJAX включают в себя модель для режимов выпуска и отладки. Режим выпуска предоставляет проверку ошибок и обработку исключений, оптимизированную для повышения производительности при минимальном размере сценария. Режим отладки предоставляет более основательные возможности отладки, такие как проверка типов и аргументов. ASP.NET выполняет отладочные версии, когда приложение выполняется в режиме откладки. Это позволяет выбрасывать исключения в сценариях отлаживаемого приложения и свести к минимуму размер кода выпуска.

Благодаря поддержке сценариев AJAX в ASP.NET реализуются две важные функции:

  • Microsoft AJAX (библиотека), которая является системой типов и набором расширений JavaScript, предоставляющих пространства имен, наследование, интерфейсы, перечисления, отражение и дополнительные функции.
  • Частичная отрисовка страниц, при котором обновляются части страницы с использованием асинхронной обратной передачи.

Веб-службы

Функциональность AJAX позволяет вызывать из клиентского сценария веб-страницы ASP.NET веб-службы ASP.NET (файлы с расширением ASMX) и службы Windows Communication Foundation (WCF) (файлы с расширением SVC ). Ссылки на необходимые сценарии автоматически добавляются в состав страницы, а эти сценарии, в свою очередь , автоматически создают прокси-классы веб-служб, используемые из клиентских сценариев для вызова этих служб.

Можно также осуществлять доступ к веб-службам ASP.NET с использованием серверных элементов управления ASP.NET AJAX (например, при использовании другой среды веб-разработки). Для этого можно вручную включать в состав страницы ссылки на Microsoft AJAX (библиотека), файлы сценариев и веб-службы. Во время выполнения ASP.NET создает прокси-классы, которые можно использовать для вызова этих служб.

Серверные элементы управления

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

Ниже приведен список наиболее часто используемых серверных элементов управления ASP.NET AJAX:

  1. ScriptManager

Управляет ресурсами сценариев для клиентских компонентов, частичной отрисовки страниц, локализации, глобализации и пользовательских сценариев. Элемент управления ScriptManager необходим для использования элементов управления UpdatePanel, UpdateProgress и Timer .

Позволяет обновлять отдельные части страницы вместо обновления ее целиком, осуществляемого путем использования синхронной обратной передачи.

Предоставляет информацию о состоянии касательно частичного обновления страницы в элементах управления UpdatePanel .

Выполняет операции обратной передачи с заданной периодичностью. Элемент управления Timer можно использовать для периодического обновления всей страницы или же ее части; в последнем случае он используется совместно с элементом управления UpdatePanel .

Подводя итог, отметим, что ключевой особенностью технологии AJAX, которую необходимо понимать каждому, является отсутствие необходимости при каждом пользовательском действии, подразумевающем, ответ сервера, отправлять всю страницу целиком серверу. Т.е. отправляется только часть веб — страницы, на которой располагается элемент управления, действия над которым вызывают серверный ответ. Таким образом, работа веб — приложения становится «легче», обходится без лишних, нецелесообразных действий.

Отладка и озвучка

  • Борис Леонтьев, «3D Studio MAX 7.0 не для дилетантов»;
  • Тим Колб, «Самоучитель Premiere Pro 1.5: мастерство видеомонтажа»;
  • Дерек Фергюсон, «Отладка в ASP: руководство для разработчиков».

С чего начинается книга? Не торопитесь читать дальше, задумайтесь на секунду над этим вопросом. Подумали? Замечательно. Теперь давайте сравним ответы.

Некоторые, наверное, ответят, что с титульного листа, где можно прочесть название безо всяких рекламных слоганов, которыми в последнее время модно украшать компьютерную литературу. Кто-то скажет, что с обложки, где и квартируют те самые слоганы. Но это все только материальные начала книги. Не была бы книга книгой, если бы не несла в себе чего-то, что принято называть мыслями. Поэтому мне кажется, что именно с мысли и начинается любая книга. Или, если хотите, с идеи. Ведь человеку, который пишет книгу, пусть даже техническую, не все равно, о чем писать.

Что ж, давайте теперь перейдем непосредственно к тем книгам, о которых я хотел бы вам сегодня рассказать. Их у нас, как обычно, три, причем на самые разнообразные темы.

Борис Леонтьев, «3D Studio MAX 7.0 не для дилетантов» (368 страниц, ЗАО «Новый издательский дом», 2005). Слоган на обложке гласит: «Станьте профессионалом в трехмерном моделировании объектов на персональном компьютере!». А почему бы и не стать, в самом деле? Причем, несмотря на пугающее «не для дилетантов» в названии, им-то это пособие как раз больше всего и подойдет. Начинается рассказ, конечно же, с основ компьютерной трехмерной графики, а также с описания конкретно той версии популярного инструмента 3D-моделирования, которой посвящена данная книга. После такого вводного материала автор приступает к непосредственному рассказу про трехмерное моделирование в 3D Studio MAX 7. Bone Tools, Editable Polygon, моделирование текста, человеческой руки, пэтчевое моделирование, слои и модификаторы, материалы и шейдеры, анимация, элементы освещения, рендеринг, настройка интерфейса программы — вот те темы, которые рассматриваются в книге. Впрочем, объем книги и огромное количество иллюстраций не оставляют места серьезным пояснениям, так что рассказ строится по принципу изложения алгоритма действий для получения того или иного конкретного результата. С этой книгой, если вас устроят поверхностные знания, можно изучить 3D Studio MAX действительно быстро.

Следующий участник сегодняшнего литературного обозрения — пособие, рассказывающее о видеомонтаже на компьютере. Делать это читателям предлагается с помощью программы Adobe Premiere Pro, широко известной и повсеместно используемой в нашей стране. Что ж, встречайте: Тим Колб, «Самоучитель Premiere Pro 1.5: мастерство видеомонтажа» (189 страниц, издательство «Питер», 2005). Ясное дело, что настоящего мастерства с помощью одной только книжки, да еще и такой тоненькой, не достигнешь. А вот изучить основы этого нелегкого занятия вполне возможно, для того, собственно, и нужны самоучители. Автор начинает свой рассказ о Premier с установки и настройки этой программы. После немного поведает о ее интерфейсе и предназначении основных частей. Следующая глава посвящена тонкостям захвата видео, а та, что за ней — управлению мультимедийными данными. Тестовые мониторы, выделение дорожек, трехточечное редактирование, раздельный монтаж, синхронизация клипов, «замораживание» кадра, эффекты, настройка ключевых кадров, работа с Adobe Title Designer, работа с аудиоданными, мастеринг, взаимодействие Premiere с другими продуктами фирмы Adobe. Вы и вправду уверены, что сможете нормально монтировать видео без понимания всего этого? Мне кажется, вряд ли. Словом, если вам хочется научиться качественно обрабатывать цифровое видео и при этом лень читать толстые книги-руководства, то, думаю, это издание подойдет.

Таким вот образом мы с вами неспешно подобрались к логическому завершению книжного обозрения этого номера «КВ», т.е. к третьей книге, которая в нем фигурирует. Глядя на первые две, можно предположить, что это будет книга по дизайну или чему-нибудь близкому к нему по духу. Однако это не так — посмотрите внимательнее на название статьи. Вот! Третья книга будет про отладку. Приготовились узнать о ней подробнее? Тогда поехали!

Дерек Фергюсон, «Отладка в ASP: руководство для разработчиков» (400 страниц, издательство «Бином», 2001). Вполне вероятно, некоторым покажется, что эта книга уже морально устарела как в связи с годом выхода в свет, который отделяют от нас уже долгие 5 лет, так и в том плане, что на место ASP уже давно пришла технология ASP.NET. Однако до сих пор огромное количество людей продолжают использовать «старушку» ASP, т.к. она требует значительно менее мощных серверов, чем ASP.NET. Поэтому специально для тех, кто продолжает использовать Microsoft Active Server Pages, я расскажу об этой книге, посвященной отладке в ней. Написал эту книгу человек, являющийся сертифицированным разработчиком приложений ASP, а попутно ведущим программистом компании InterAccess, одного из самых старых провайдеров в США. Темы, рассмотренные в книге, будут полезны большинству ASP-разработчиков: оптимизация кода серверных сценариев с помощью Microsoft Script Debugger, устранение логических ошибок и ошибок времени исполнения, поиск и «расшивка» узких мест в сценариях VBScript, устранение ошибок компонентов COM, соединения с базами данных, настройка IIS и NTFS для поиска ошибок аутентификации и контроля ресурсов, локализация и устранение ошибок в SQL-запросах и хранимых процедурах, работа с компонентами COM+, использование ADO и CDO в COM-компонентах, приемы написания свободного от ошибок web-приложения. Думаю, профессионалы ASP по достоинству оценят эту книгу.

Что ж, спасибо за внимание и до новых встреч на страницах «Компьютерных Вестей»! Книги для обзора предоставлены магазином «Книга XXI век» (Минск, пр. Независимости, 92 — м. «Московская»), где их все можно потрогать, полистать и купить.

Asp отладка сценариев asp

Рис. 3-21. Отладка серверного сценария

Отладчик Microsoft InterDev 6.0 позволяет устанавливать дополнительные точки останова, просматривать содержимое переменных и выполнять множество других действий. Подробное процесса отладки выходит за рамки на-

шей книги. Заметим только, что для этого отладчика Вам при-

дется настроить образом сервер Internet Information

Server. Но умолчанию отладка сценариев отключена, и Вам следует ее включить.

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

страницамикакв прямом, таки в обратном направлении.

Отладка сценариев в страницах ASP

Интегрированная среда разработки Microsoft 6.0 предоставляет отлич-

ные средства для отладки не только клиентских, но и серверных сценариев. Без этой возможности разработка сложных приложений ASP была бы очень затруднена.

Если серверный сценарий написан на языке , то для вызова отладчи-

ка Вам необходимо вставить в исходный текст сценария оператор cJebugee! (заметим, что недостаточно просто поставить точку останова, нужно вызвать отладчик явным образом).

На рис. 3-21 мы : процесс отладки одного из серверных сценариев,

показанных в этой главе.

Рис. 3-22. Панель Application Cinlliuratton

Здесь Вам нужно открыть вкладку Арр Debugging и пометить переключатели Enable ASP server-side script debugging и Enable ASP client-side script debugging. После этого закройте панель и перезагрузите компьютер. Теперь Вы приступить к серверных сценариев.

приложение Microsoft Management Console и откройте панель свойств сервера Web (или отдельного каталога), выбрав строку

Properties из контекстного меню. Щелкните Configuration на

Virtual Directory, чтобы открыть панель Application Configuration (рис. 3-22).

Связь приложений с базами данных через ADO

в предыдущих главах мы рассказывали о создании HTML и ASP, отве-

laii.inHX ; 1 интерактивное взаимодействие с пользователем через окно браузера. Теперь настало время обратиться к другому, не менее важному аспекту разработки приложений Web — организации взаимодействия этих приложений с базами данных.

Существуют различные способы связи . . . с базами данных. На сегодняшний день наиболее перспективный из них, несомненно, связан с применением интерфейса ActiveX Data Objects (ADO). Посредством этого интерфейса : . — (как обычные, так и ориентированные на использование технологий Интернета) могут подключаться к базам данных, извлекать, обрабатывать и обновлять информацию в них.

Эта глава применению интерфейса ADO для связи приложений

ASP с базами данных, созданными на основе Microsoft SQL Server. В качестве примера приложения Web мы выбрали Интернет-магазин, торгующий книгами.

Напомним, что в первой главе книги уже упоминалось, что для доступа к базам данных SQL Server можно использовать различные — программный

интерфейс ,DB Library, программный интерфейс ODBC, объектный RDO, объектный интерфейс OLE DB и, наконец, объектный интерфейс ADO.

ADO представляет собой уровня приложений, созданный поверх

объектного интерфейса OLli DB. При этом , : OLE DB обеспечивает универсальный доступ к . Такой доступ обеспечивается в свою очередь с помощью провайдеров, таких, как Microsoft OLE DB Provider для ODBC (MSDASQL) или Microsoft OLE DB Provider для SQL Server (SQLOLEDB).

Программная модель ADO

Ключевыми программной модели ADO является набор объектов, с

помощью которых осуществляется соединение с базами данных, выполнение команд с параметрами, получение результата выполнения этих команд в виде переменных или наборов записей, обработка событий я

Рассмотрим порядок обращения приложения к базе данных с применением программной модели ADO.

Asp отладка сценариев asp

27 просмотра

1 ответ

16 Репутация автора

Кто-то передал мне аварийный скрипт aspx / .cs для отладки.

Любая идея, как настроить проект VS2020 для его отладки?

Я пытался использовать мастер, Visual C #, asp.net

Это работает нормально для одного набора страниц на сайте, Default.aspx и Default.aspc.cs

Когда я добавляю страницу, которую хочу отладить, я получаю кучу ошибок компиляции в файле cs, ссылаясь на объекты в aspx

и одна ссылка, я не вижу, как разобраться

Я иду об этом правильным путем?

Ответы (1)

плюса

16 Репутация автора

VS2020 — Файл -> Открыть -> Веб-сайт

перейдите в локальную исходную папку и нажмите ОК

Щелкните правой кнопкой мыши на aspx, который вы хотите отладить. Выберите «Сделать стартовой страницей»

Переходим от VBScript к ASP и ASP.NET. Безопасность и синтаксис

Архив номеров / 2006 / Выпуск №1 (38) / Переходим от VBScript к ASP и ASP.NET. Безопасность и синтаксис

Имя элемента Описание

Переходим от VBScript к ASP и ASP.NET

Безопасность и синтаксис

Многие программисты используют VBScript для создания сценариев, предназначенных для управления серверами. Некоторые скрипты настолько усложняются, что их трудно использовать без графического интерфейса. Оптимальным решением этой задачи является создание вебприложения на ASP, ASP.NET.

Создавая сценарии на VBScript для обслуживания серверов, таким образом автоматизируя работу системного администратора и службы технической поддержки, сводя до минимума влияние человеческого фактора, программисты приходят к выводу, что некоторые из их скриптов стали неудобными и им необходим графический интерфейс. Например, веб-интерфейс, выбор которого объясняется соображениями безопасности и удобством эксплуатации. Для решения этой задачи рекомендуется ASP, а лучше всего – ASP.NET, который позволяет на порядок повысить безопасность работы приложения.

От VBScript к ASP

У вас может возникнуть вопрос: «Зачем мне переходить на ASP, когда я просто могу использовать DHTML с VBS вставками?» Использовать DHTML или HTA для этих целей не получится, поскольку они основаны на HTML, который действительно позволяет делать вставки на VBScript, однако не поддерживают работу с OLE-объектами. Для программиста, создающего приложения для обслуживания серверов, поддержка OLE-объектов используемой им средой – основное требование, поскольку формирование отчетов, доступ к Active Directory и др. базируется на их использовании.

ASP представляет собой решение, которое поддерживает HTML, OLE-объекты и позволяет делать вставки на различных скриптовых языках: VBScript, JScript.

Переход от VBScript к ASP достаточно прост и безболезнен: исходный код на VBScript остается практически без изменений.

ASP-страницы – это сценарии, программный код которых выполняется при их запросе. Результатом действия скрипта является DHTML-страница, которая формируется на сервере, а затем отображается в браузере клиента. Структура документа на ASP проста: в первой строке всегда указывается язык, с помощью которого созданы скриптовые вставки ASP-страницы. Первая строка любого из сценариев на ASP выглядит следующим образом:

Программный код, находящийся между , выполняется на сервере и подчинен синтаксису одного из выбранных языков. Весь остальной код представляет собой HTML-страницу в явном виде.

Листинг типовой ASP-страницы выглядит следующим образом:

‘ отображение на экране содержимого переменной

После обработки интерпретатором IIS программного кода и преобразования результатов его работы в HTML/DHTML необходимо дать команду на отображение страницы в браузере клиента. Такой командой является «Response.Write q», где q – имя переменной, содержащей фрагмент HTML-кода.

Необходимо отметить, что ASP имеет свою, хотя и скромную объектную модель, описание которой можно найти практически в любой книге, посвященной программированию на ASP в разделе «Приложения».

Настройка IIS для ASP

При создании веб-приложений на основе ASP необходимо учитывать некоторые особенности этого языка.

Первая особенность: поскольку код ASP-страниц исполняется на сервере и только результат в виде HTML-страницы пересылается на клиентскую машину, то для успешного запуска приложения на сервере пользователь должен обладать соответствующими правами. IE, IIS и запускаемые им сервисы представляют собой трехзвенную систему (см. рис. 1).

Рисунок 1. Трехзвенная система

Пусть IIS имеет настройки по умолчанию. В этом случае при загрузке любой ASP-страницы она стартует от имени встроенного пользователя (см. рис. 2). Если страница работает с некими базами данных, например с Active Directory, то пользователь, запускающий данную страницу, должен обладать соответствующими правами системного администратора.

Рисунок 2. Настройка безопасности IIS

Существует несколько способов соблюсти эти условия. Первый – учетную запись встроенного пользователя заменить учетной записью администратора сети. При таком раскладе любой пользователь в сети сможет посетить данную страницу, т.к. она будет запускаться от имени системного администратора. Этот способ предоставляет всем доступ к данной странице, что, согласитесь, неправильно: резко снижается безопасность всей системы. В случае ошибок на странице злоумышленник может легко запустить вредоносный код с правами администратора.

Поэтому разумно использовать другой способ, с помощью которого можно ограничить доступ к ресурсам. В настройках IIS необходимо сбросить флажок (см. рис. 2) с Enable anonymous access и установить его напротив Basic Authentication. Также следует изменить права на файловую структуру используемого сайта, исключив оттуда группу Everyone и добавив соответствующие группы безопасности и назначить им соответствующие права. При такой настройке IIS только системные администраторы получат доступ к данной странице. При попытке любого пользователя, не являющегося администратором сети, получить доступ к странице, IIS будут запрошены имя и пароль пользователя.

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

Только что мы рассмотрели механизм взаимодействия первого и второго звена в трехзвенной системе. Первым звеном является рабочая станция пользователя, вторым –сервер, на котором установлен IIS. Взаимосвязь этих звеньев осуществляется с помощью одного пользователя. Между вторым и третьим звеном (сервер iis-процессы, порождаемые из asp-процесса) взаимодействие осуществляется с помощью другого пользователя.

Рассмотрим взаимодействие второго и третьего звена подробнее.

При запуске из кода ASP-страницей какого-либо приложения осуществляется взаимодействие между вторым и третьим звеном. IIS порождает процесс, запускаемый от имени другого встроенного пользователя. Поскольку ASP-страница выполняется на сервере, то для запуска приложения необходимы соответствующие права. Управление этой учетной записью пользователя осуществляется в Application Tools (см. рис. 3).

Рисунок 3. Настройка безопасности IIS

Переход от VBScript и ASP к ASP.NET

Теперь, когда мы знакомы c ASP и разобрались с настройкой IIS для ASP-проектов, подведем промежуточный итог, а он не утешителен! Дело в том, что в построенной системе большая брешь в безопасности; поскольку для доступа к АD в ASP-файле в явном виде надо указать имя и пароль системного администратора, еще одним недостатком является указание пароля в разделе «Аnonymous Аccess» вместо встроенной учетной записи указать имя и пароль системного администратора. Конечно, системный администратор постарается защитить файловую систему соответствующим распределением прав, однако принятых мер недостаточно. Необходимо сделать так, чтобы система сама определяла и подставляла имя и пароль пользователя между вторым и третьим звеном, т.е. запускала сервисы от имени пользователя, который вошел на сайт. Поставленная задача успешно решается переходом с помощью ASP.NET и включением режима имперсонализации.

Установка Visual Studio

Перед установкой Visual Studio .NET должен быть предварительно установлен пакет программ, необходимых для ее установки:

  • Microsoft IIS 5/6
  • Microsoft .NET Framework 1.1/2.0
  • Microsoft FrontPage Server Extensions 2000/2002
  • Microsoft Visual J# .Net Redistributable Package 1.1/2
  • Microsoft Windows Installer 2/3(.1)

В полном дистрибутиве перечисленные компоненты находятся в папке WCU, в которой присутствуют соответствующие компонентам подпапки. Если же папки WCU нет, то компоненты необходимо загрузить с сайта Microsoft или установить с дистрибутива соответствующей версии операционной системы.

Таблица 1. Необходимые компоненты для установки Visual Studio

Microsoft IIS 5

Входит в состав Windows 2000 – ver 5.0, XP – ver 5.1

Илон Маск рекомендует:  mail - Отправить почту
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Рубрика: Программирование / Веб-программирование