Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Помогите, пожалуйста с Web-сервером   Найти похожие ветки 

 
r9000   (2004-08-10 08:32) [0]

Добрый день!

Помогите, пожалуйста с Web-сервером.
Создали программу тестирование через Internet Explorer на основе Web-сервера на основе ISAPI/NSAPI Dynamic Link Library, настроили Personal Web-сервер для Windows 98. Когда тестируется один пользователь, то программа работает нормально (т.е. правильно выводится номер следующего вопроса, количество вопросов и т.д.). Когда тестируются например два пользователя одновременно, то программа работает уже неправильно(например первый пользователь остановился на 5-вопросе теста, а второй на 1-вопросе,при нажатии второго пользователя на кнопку "продолжить" выводится не второй вопрос, а 6-вопрос, также нарушается количество выводимых вопросов).
Получается, что dll не разделяет пользователей?
Что делать?
Может можно перенести созданную программу на другую основу?
Помогите, пожалуйста


 
And   (2004-08-10 11:35) [1]

Необходимо делать те самые сессии, которые не знаю как сделать, сам ищу.


 
Плохиш ©   (2004-08-10 11:40) [2]


> r9000   (10.08.04 08:32)

> Что делать?

Изучать работу cookie, в частности.


 
r9000   (2004-08-12 06:24) [3]

А что такое cookie и как, его можно использовать в данном случае.
Если можно напримере, пожалуйста.


 
piople ©   (2004-08-12 06:42) [4]

Поподробней, откуда беруться вопросы и где храниться текущий вопрос, и вообще поподробней как у тя все работает!


 
r9000   (2004-08-12 07:04) [5]

Вопросы, да и практически вся другая информация, берутся из базы данных на MSSql. Вся обработка происходит в действии WebModule1WebActionItem1Action. Используются компоненты PageProducer,adoquery. Посылаются html-странички браузеру методом
Response.Content:=pageproducer.Content. Анализируются какие данные передаются браузером, методом s5:=Request.QueryFields.Values["Submit4"];
if s5<>"" then
if Request.QueryFields.Values["Name_doc"]<> "" then
и т.д.


 
piople ©   (2004-08-12 07:12) [6]

Я где храниться номер текущего вопроса???
На клинетской часто в <input type="hidden" ... >?


 
piople ©   (2004-08-12 07:19) [7]

Просто на сколько я понимаю, у тя просто пересекаются значения текущего вопроса от разных пользователей?!


 
r9000   (2004-08-12 07:41) [8]

Номер текущего вопроса хранится в переменной объявленной глобально как обычно в delphi для windows nvop: integer. Может, действительно, как-то можно передавать номер вопроса каждому браузеру(подключенному к dll) и при дальнейшем обращении браузера(нажатии кнопки "продолжить") считывать это значение и обрабатывать его? Как это сделать синтисически, т.е. на примере?
Да ,получается, что переменная с номером вопроса общая для всех пользователей,т.е. для всех браузеров.


 
piople ©   (2004-08-12 07:52) [9]

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


 
r9000   (2004-08-12 07:54) [10]

Так как это сделать? Можно на примере, пожалуйста?


 
piople ©   (2004-08-12 08:06) [11]

Дай мне пример как ты генерируешь страничку с вопросом!!!!!


 
wal ©   (2004-08-12 13:53) [12]

К форме, в которой ответы на вопросы вводятся добавляешь поле <input type="hidden" name="QuestNum" value=номер_вопроса>.
Когда пользователь нажмет Submit, то это поле перешлется на сервер вместе с теми полями, куда пользователь ответы вводил. На сервере считываешь значение этого поля, увеличиваешь, генеришь страничку со следующим вопросом и форомой ответа, в которой в скрытом поле указываешь с номер текущего вопроса. Вроде не запутался.

С уважением.


 
r9000   (2004-08-13 06:08) [13]

Да большое спасибо вы правы!


 
piople ©   (2004-08-13 07:17) [14]


> wal

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


 
wal ©   (2004-08-13 10:28) [15]


> piople ©   (13.08.04 07:17) [14]
> Так то оно так, но кк быть если вопросы генерируются случайно?
> Надо тогда еще и передавать номера всех вопросов которые
> уже были!
Можено и все передавать - проблем никаких нету. Можно на сервере хранить - проблем тоже быть не должно.

С уважением.


 
[serzh]   (2004-08-13 11:37) [16]

Когда работаешь с ISAPI нужно юзать компонентик Sessions!


 
r9000   (2004-08-13 11:54) [17]

Каким образом использовать компонент Sessions с adoquery и я вроде проверял его с компонентами bde не помогает.


 
Плохиш ©   (2004-08-13 11:55) [18]


> r9000   (12.08.04 06:24) [3]
> А что такое cookie

Т.е. интернетом пользоваться и книжки читать мы не умеем/не хотим?

WebContext.Request.CookieFields
Response.Cookies


 
[serzh]   (2004-08-13 12:09) [19]

Попробуй тоже самое сделать на Stand-Alone CGI!
Пиши что получится!



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.032 c
14-1097122070
CrazyBoy
2004-10-07 08:07
2004.10.24
ADO c DBF


14-1096884524
WondeRu
2004-10-04 14:08
2004.10.24
Diamondback (delphi 9) - новая версия!


1-1097483699
LittleGirlie
2004-10-11 12:34
2004.10.24
Помогите с Kylix-ом


4-1095419377
Квэнди
2004-09-17 15:09
2004.10.24
Трей


1-1097236916
Aleksandr.
2004-10-08 16:01
2004.10.24
Имеет ли функция CopyFile проблемы с многопоточностью и проч.?