Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чайник спрашивает про ISAPI, ISAPI, сгенерированное Wizard'ом 
:(
    Опции темы
tokaplan
Дата 1.6.2002, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.4.2002

Репутация: нет
Всего: нет



Написал я простейшее приложение ISAPI, вернее, не написал, а просто сгенерировал соответствующим Wizard'ом. Получился, как и следовало ожидать, файл .dll. И что с ним делать? Загружаю на сайт и пытаюсь набрать его имя - браузер пытается скачать его. Как быть?
PM MAIL   Вверх
tokaplan
Дата 1.6.2002, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.4.2002

Репутация: нет
Всего: нет



Уточнение: я имею в виду ISAPI Extension, а не ISAPI Filter.
PM MAIL   Вверх
Baa
Дата 1.6.2002, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Для начала расскажу как оно работает...надо обращаться не к самой дллке.
Так мы вызовем тестэкшен из дллы ( который мы предварительно написали ;) )
http://192.168.13.22/scripts/isapi.dll/testaction
А вот так передаются параметры в этот тестэкшен
http://192.168.13.22/scripts/isapi.dll/testaction?Cost=239
Также можно вызывать дефолтные экшены с параметрами:
http://192.168.13.22/scripts/isapi.dll?Cost=239

Могу кинуть пример мелкософтского счетчика MFC isapi
А вообще все хоть и говорят о приимуществе изапи, мне больше нравятся скрипты...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
tokaplan
Дата 8.6.2002, 19:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так мы вызовем тестэкшен из дллы ( который мы предварительно написали ;) )
http://192.168.13.22/scripts/isapi.dll/testaction
Как должно выглядеть описание этого тестэкшена? Это что, функция testaction()? А если тестэкшен по умолчанию, как это задать?
  Вверх
Baa
Дата 8.6.2002, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Давай я тебе лучше пример пошлю, это будет эффективней. Вот кусок из него.
BEGIN_PARSE_MAP(CCounterExtension, CHttpServer)
ON_PARSE_COMMAND(Clock, CCounterExtension, ITS_EMPTY)
ON_PARSE_COMMAND(Default, CCounterExtension, ITS_EMPTY)
DEFAULT_PARSE_COMMAND(Default, CCounterExtension)
END_PARSE_MAP(CCounterExtension)

void CCounterExtension::Clock(CHttpServerContext* pCtxt)
{
// Clock
// Called when DLL is accessed using the format
// <IMG SRC="/scripts/counter.dll?Clock">

// We don't call StartContent() or WriteTitle() here due to the
// fact that those will send back tags appropriate only to
// HTML pages.  We will be sending back an image.

// Don't allow these pages to be cached
AddHeader(pCtxt, szExpires);
AddHeader(pCtxt, szNoCache);

// Get the current system time, and put it into a form
// which our function will accept.
CTime time = CTime::GetCurrentTime();
CString szTime = time.Format(_T("%H%%%M"));

// call member function to output an xbitmap image
// containing the digits
OutputXBM(pCtxt, szTime);

// EndContent() is only appropriate for HTML files, so we
// don't call it here.
}


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
tokaplan
Дата 9.6.2002, 09:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Baa @ 08.6.2002, 23:05)
Давай я тебе лучше пример пошлю, это будет эффективней. Вот кусок из него.
BEGIN_PARSE_MAP(CCounterExtension, CHttpServer)
ON_PARSE_COMMAND(Clock, CCounterExtension, ITS_EMPTY)
ON_PARSE_COMMAND(Default, CCounterExtension, ITS_EMPTY)
DEFAULT_PARSE_COMMAND(Default, CCounterExtension)
END_PARSE_MAP(CCounterExtension)

void CCounterExtension::Clock(CHttpServerContext* pCtxt)
{
// Clock
// Called when DLL is accessed using the format
// <IMG SRC="/scripts/counter.dll?Clock">

// We don't call StartContent() or WriteTitle() here due to the
// fact that those will send back tags appropriate only to
// HTML pages.  We will be sending back an image.

// Don't allow these pages to be cached
AddHeader(pCtxt, szExpires);
AddHeader(pCtxt, szNoCache);

// Get the current system time, and put it into a form
// which our function will accept.
CTime time = CTime::GetCurrentTime();
CString szTime = time.Format(_T("%H%%%M"));

// call member function to output an xbitmap image
// containing the digits
OutputXBM(pCtxt, szTime);

// EndContent() is only appropriate for HTML files, so we
// don't call it here.
}

// Clock
// Called when DLL is accessed using the format
// <IMG SRC="/scripts/counter.dll?Clock">

Обязательно ли dll должна помещаться в папке script?
  Вверх
Baa
Дата 9.6.2002, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Она должна помещаться в папке, на которой стоит пермишен на выполнение


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
tokaplan
Дата 10.6.2002, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.4.2002

Репутация: нет
Всего: нет



А как задать это разрешение, к примеру, на Народе? Там вроде про это и упоминания нет.
PM MAIL   Вверх
Wowa
Дата 10.6.2002, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(tokaplan @ 10.6.2002, 07:11)
А как задать это разрешение, к примеру, на Народе?

думаю, что никак.
PM WWW   Вверх
Baa
Дата 10.6.2002, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Цитата(tokaplan @ 10.6.2002, 12:11)
А как задать это разрешение, к примеру, на Народе? Там вроде про это и упоминания нет.

Народ не держит ИЗАПИ


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
kao
Дата 25.7.2006, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



Подскажите пожалуйста. Очень нужно, а я в этом новичок.

Параметр SRC тэга IMG в качестве аргумента может принимать DLL файл.
Как все это делается и как все это работает.
Нужно, что бы из DLL передавалось изображение.
Буду признателен если покажите пример.
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.