Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 460
Добрый день.

Скажу сразу с ISAPI не работал вообще (в процессе изучения и сбора информации).

Есть очень полезная статься: [url=]http://ru-delphi.livejournal.com/265752.html[/url], она отвечает на много вопросов, но в ней не хватает примера взаимодействия с БД.

Кто хорошо разбирается, пару вопросов для понимания, например, в один момент времени получаем 3 запроса на web сервер:

1.Они буду обрабатываться по очерёдности или параллельно (т.е. каждый в своём потоке)?
2.Как происходит взаимодействие с БД, на каждый web запрос необходимо создавать отдельный объект соединения (например TFDConnection) + создавать отдельный объект запроса (например TFDQuery), и, после получения данных и их обработки уничтожать объекты? Или же объекты создаются при "инициализации" (при старте web сервера) и уничтожаются при "финализации" (при остановке web сервер)?


Если кто может поделиться примером, как правильно взаимодействовать с БД через ISAPI, буду очень благодарен...
12 янв 18, 09:13    [21099796]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 850
Коннект конечно на каждое подключение свой, ну либо сделать пул коннектов что предпочтительнее. У вас посути 3-х звенка, поэтому я бы рекомендовал посмотреть специальные библиотеки как это сделано там, kmmMW например.
12 янв 18, 09:32    [21099864]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 850
Ну или из родного поройте Datasnap
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Tutorial:_DataSnap_Application_Using_an_ISAPI_DLL_Server
12 янв 18, 09:34    [21099875]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 460
энди
Коннект конечно на каждое подключение свой, ну либо сделать пул коннектов что предпочтительнее. У вас посути 3-х звенка, поэтому я бы рекомендовал посмотреть специальные библиотеки как это сделано там, kmmMW например.


Или же объект TFDConnection общий, а TFDQuery на кождое подключение свой? Или в этом случае придётся делать синхронизацию потока?

"Ну или из родного поройте Datasnap" - это не то чтоб работа с MSSQL, как оно может быть полезно...?!
12 янв 18, 09:50    [21099934]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 850
Мне кажется вы не совсем верно представляете тебе логику работы подобного приложения. Один коннект на всех делать нельзя иначе придется писать очередь запросов. Тут все же лучше пул коннектов.
1) идет коннект к вашему сервису, это посути отдельный тред на сервере
2) обращаетесь к пулу коннектов и просите свободный коннект
3) пул смотрит у себя есть ли свободные коннекты, если нет создает новый, добавляет его к себе и выдает вашему треду
4) дальше вы выполняете запрос куда хотите, сериализуете ответ и отправляете его клиенту

Т.е в контексте треда клиента на сервере у него должен быть и свой коннекшн и свои query. Поищите примеры в инете, вот не верю что ничего нет :)
12 янв 18, 11:28    [21100600]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 850
В гугле вбейте что-то типа "datasnap isapi" :)
12 янв 18, 11:29    [21100607]     Ответить | Цитировать Сообщить модератору
 Re: ISAPI для IIS. Как правильно взаимодействовать с MSSQL  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 850
вот одна из первых же ссылок, хоть и mysql но принцип поймете
http://www.webdelphi.ru/2012/08/isapi-mysql-i-datasnap-xe2/
12 янв 18, 11:31    [21100624]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить