Делаю вот вебовскую прибулдину на ISAPI.
пиши в личку, если что. я подобное делал.

Там, насколько понемаю, для каждого клиента IIS загружает
свою копию моего творения (блабла.dll).

зависит от версии IIS. В пятой можно было выбрать isolated mode,
тогда каждому коннекту (и соответственно - ISAPI) свой процесс.

Сейчас же по-дефолту (в шестой версии на win2003) - isolated mode выключен,
dll загружается одна на все коннекты к данному сайту.
Так что, например, глобальные переменные в твоей ISAPI - на все HTTP коннекты общие.

А небудет ли там кокието заморочки с fbclient.dll ?  Типо
каждыи процес загрузит свою коию fbclient.dll и небудет друг друга
блокировать или чтото такое ?

У тебя несколько ISAPI или одна? непойму

Процесс - один на один сайт.
Соответственно, все ISAPI, как полагается DLL, крутятся в его памяти.
Соответственно, если ты грузишь fbclient.dll то она одна на процесс.
А дальше - думай, что тебе надо.
Если надо на каждый HTTP коннект к ISAPI - свой коннект к FB - делай свой коннект (это будет отдельный поток).
Проблем нет.

...У меня есть один пример, где первый HTTP коннект поднимает коннект к FB,
и запускает долгую процедуру (текущие остатки на складе).
Если приходит еще один HTTP коннект с тем же запросом, к той же процедуре,
то он ждет окончания первого запроса, и нового коннекта к FB уже не делает.
Ответы оба запроса получают одинаковые, одновременно.

короче - у нас трава тоже неплохая :-)



Ответить