Вниз
Скачать: CL | DM;

господа, кто шарит в ISAPI?   Найти похожие ветки 

← →
dums   (2003-03-19 18:19) [0]

есть ISAPI. есть я. сделал dll, вроде работает. под апачем.
но как оно работает?
дайте плз ссылку на ресурс, или книжку какую посоветуйте именно по ISAPI (статьи на этом сайте я прочёл).
а ещё лучше объясните как эта штука работает!
например вот заходит пользователь на www.addr.ru/my.dll... что происходит? создаётся новый поток? а когда этот поток прекращает свою работу? а dll значит процессом висит в памяти пока я сервер не вырублю?
если поток завершается сразу после как страничка пользователю показалась, то посоветуйте как мне продлить его работу?
и последнее, можно пример организации таймера (TTimer) для каждого пользователя.


← →
Go3DoN   (2003-03-19 23:03) [1]

http://delphiwebdeveloper.virtualave.net


← →
dums   (2003-03-20 13:55) [2]

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


← →
nikkie ©   (2003-03-20 15:30) [3]

Из совершенно общих соображений - ISAPI это интерфейс взаимодействия сервера и твоего web-приложения. Твои вопросы - это вопросы реализации этого интерфейса конкретным сервером. На любой вопрос - ответ: "зависит от сервера и его настроек". Ты работаешь с apache? Ищи какое-нибудь описание к нему. Но это не значит, что IIS будет работать также.

>что происходит? создаётся новый поток?

Может создаваться новый поток, запрос может передаваться на обработку одному из prestarted потоков. В принципе, сервер может создавать отдельные процессы для обработки запросов. Может использовать prestarted процессы.

>а dll значит процессом висит в памяти пока я сервер не вырублю?

dll не может висеть процессом. Но dll действительно остается загружена. Это позволяет, например, использовать установленный коннект к базе данных, а не тратить время на подключение всякий раз, как приходит клиентский запрос. Можно предположить, что какой-то сервер имеет функцию выгрузки загруженных ISAPI. Можно предположить, что какой-то сервер выгружает ISAPI dll в случае, если она не используется через какой-то таймаут.

>если поток завершается сразу после как страничка пользователю показалась, то посоветуйте как мне продлить его работу?
и последнее, можно пример организации таймера (TTimer) для каждого пользователя.

Знаешь, действительно, создается "впечетление человека абсолютно не разбирающегося в данной теме". Объясни по-понятнее, что ты хочешь.


← →
dums   (2003-03-20 16:14) [4]

nikkie © (20.03.03 15:30)

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


← →
nikkie ©   (2003-03-20 17:56) [5]

Протокол HTTP не подразумевает такого использования. Можно, конечно, написать своих собственных клиента и сервер, которые будут обмениваться данными по HTTP-протоколу, не закрывая коннекшн, но сделать то, что ты описал с помощью стандартных браузера и веб-сервера невозможно.

Передавать кучу данных туда-сюда в запросе необязательно. Храни данные в базе и передавай от клиента некоторый id, который позволит выбрать именно его данные. В базе ты можешь сохранять время последнего клиентского запроса и таким образом отслеживать сколько пользователь потратил времени. Добавить интерактивности можно использованием java-script, например, отмерять время, отпущенное клиенту.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-19448
Sheva
2003-03-18 16:49
2003.04.07
Справочники.


1-19517
StarCon
2003-03-26 13:23
2003.04.07
передача данных в DLL


3-19446
Карелин Артем
2003-03-17 16:47
2003.04.07
Работа с транзакциями из web-сервиса.


14-19774
npAKTuk
2002-12-25 12:03
2003.04.07
Хочу изучить OpenGL


7-19881
DrFaust
2003-01-24 16:19
2003.04.07
SysDir




   Наверх