![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vadimman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.9.2007 Репутация: нет Всего: нет |
Всем доброго времени суток! Суть вопроса вот в чем. Существует Web- сервис, взаимодействующий с клиентом по soap протоколу. Библиотека сервиса Serv.dll вызывает библиотеку Funcs.dll которая вызывает еще несколько библиотек Lib1,Lib2,... libn. эти библиотеки пользуются некоторой общей областью памяти заложенной в SharedMem.bpl. Когда эти библиотеки вызываются из Win приложения (выполняющего аналогичный функционал, что и сервис, но установленного на локальной машине) то все хорошо - мы запустили 10 раз exe-шку у нас отвелось 10 областей в памяти, которые друг друга не видят и SharedMemory прекрасно выполняет свою функцию некого посредника между работающими библиотеками, т.к для такой SharedMemory при работе существует всего один пользователь.. В случае же сервиса все обстоит иначе - библиотека Serv.dll одна и к ней обращается куча пользователей. И когда несколько пользователей работают одновременно то получается они работают с одной и той же областью памяти, т.е если под User1 метод из Lib1 поместил что-то в SharedMemory то user2 каким-либо другим методом из любой другой библиотеки может запросто это все затереть... Вот.. надеюсь суть проблеммы изложил не очень коряво:) А вопрос собственно вот в чем нельзя ли сделать так чтобы при каждой загрузке Funcs.dll она загружалась в отдельную область памяти и используя sharedMem.bpl и другие библиотеки ничего бы не знала о том, что другой пользователь так же загрузил эту библиотеку и друг другу бы они не мешали...
|
|||
|
||||
| lukash256 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 23.7.2007 Где: Гомель/Беларусь Репутация: нет Всего: нет |
а пусть твой сервис запускает фоновые приложения с собственной областью памяти для каждоко юзера.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |