Webmasterpro.com.ua - первый украинский сайт о поисковых системах. Оптимизация сайта в поисковиках, поисковая раскрутка. Хостинг


8590 seo-документов в поиске, с 2001 года



Реклама на сайте

 Хостинг
Платный хостинг
Бесплатный хостинг

Регистрация доменов

 Статьи
Яндекс
Google
Все поисковые системы
Оптимизация - основы
Баннерная реклама
Общие вопросы рекламы
Реклама в интернет
Маркетинг в интернет
Website management
Email-маркетинг
Почтовые рассылки
Спам и борьба с ним
Разработка сайта
Веб-дизайн
Usability
Каскадные таблицы стилей
HTML
Базы данных
Таблицы
MySQL
CGI
xDSL
Партнерские программы
Электронная коммерция
Выбор хостинга
Доменные имена
Провайдеры
Сервера
А также
Пресс-релизы
Каталог сайтов
Партнерские программы
Платный хостинг
Регистрация доменов
Раскрутка сайта
High-Tech портал

 Партнерские программы:
Продажа хостинга, регистрация доменов 
% от первого и последующих платежей клиентов за хостинг и регистрацию доменов
ZenBroker - продажа ссылок, реклы есть
Добавляем все сайты в систему и получаем доход

добавить рекламный блок

ISAPI DLL: их разработка и использование (ч.2)

Раздел: Сервера 07-12-2004 FAQ оптимизатору на форуме ZenBroker


Автор - Александр Качанов сайт Webmascon

Отладка ISAPI

Ох, как я намучался с этой проблемой. Главное, IIS (и Apache) грузит dll в память, и если вы, обнаружив ошибку в программе или улучшив ее чем-то, попытаетесь подменить старую dll на новую исправленную, операционная система вам скажет: Access denied. Естественно - файл считан в память, и пока он там находится перезаписать его невозможно.

Не стоит отчаиваться. Можно попытаться выгрузить dll. Для этого откройте Microsoft Management Console, перейдите на виртуальный каталог скриптов, вызовите его свойства и найдите на странице Home Directory кнопку Unload. Если она не была серой, вам повезло. Если при нажатии на нее, ваша dll выгрузилась, вам повезло вдвойне. Если вас постигла неудача, попытайтесь остановить Web-сервер. Если и здесь вы потерпели фиаско, воспользуйтесь знаменитой программой fkill.exe, которая способна убить любой процесс в Windows NT. С помощью Task Manager узнайте какой PID у файла inetinfo.exe (это и есть IIS) и убейте его с помощью команды:

fkill.exe <PID>
IIS остановится, ваша dll будет выгружена из памяти, и вы сможете теперь поверх старой записать новую.

Но не торопитесь снова запускать IIS. Перед этим откройте панель настройки Web-сервера. Выберите его свойства, откройте вкладку Home Directory, нажмите кнопку Configuration и снимите эту гадкую галочку, что стоит возле фразы Cache ISAPI application.

Теперь ваша dll будет загружаться в память лишь на время исполнения. После выполнения операции (если она благополучно завершится) она будет выгружена из памяти, и вам не надо будет мучаться при записи новой версии dll. Естественно это скажется на скорости выполнения, но при отладке это вряд ли имеет значения. После того, как вы полностью закончите написание ISAPI-dll, галочку можно вернуть.

Разработка ISAPI-dll

Данная статья - не учебник по программированию. Поэтому вдаваться в подробности написания ISAPI-dll я не буду. Скажу только, что вполне удобной средой для создания этих программ является Delphi начиная с версии 3.0.

В репозитарии приложений (Applications) найдите пиктограмму "Web Server Applications" и на вопрос, какой тип приложения создавать, выберите ISAPI/NSAPI. Delphi создаст автоматически скелет приложения, и вам останется только творческая задача - создать подпрограммы (в терминологии Delphi они называются Actions), которые будут выполнять те или иные функции в вашем ISAPI-модуле. При написании ISAPI-программы в Delphi вам полностью доступны все вкусности CGI-программ: формирование cookies, переменные окружения, переменные запросов POST/GET









 

Новости, статьи и пресс-релизы присылайте на news@webmasterpro.com.ua 
При перепечатке материалов ссылка на WebmasterPro обязательна

Rambler's Top100

Rating@Mail.ru


Copyright © 1999-2006 webmaster@webmasterpro.com.ua