Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите, пожалуйста с Web-сервером [D7, WinXP]


r9000 ©   (2004-08-10 08:32:00) 

Добрый день!

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


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

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


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


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

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

WebContext.Request.CookieFields
Response.Cookies


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

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


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

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


wal   (2004-08-13 10:28:00) [5]


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

С уважением.


piople   (2004-08-13 07:17:00) [6]


> wal

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


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

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


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

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

С уважением.


piople   (2004-08-12 08:06:00) [9]

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


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

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


piople   (2004-08-12 07:52:00) [11]

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


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

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


piople   (2004-08-12 07:19:00) [13]

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


piople   (2004-08-12 07:12:00) [14]

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


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

Вопросы, да и практически вся другая информация, берутся из базы данных на 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 06:42:00) [16]

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


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

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


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


> r9000   (10.08.04 08:32)

> Что делать?

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо