Re: Обьявляю in proc COM как singlenton и ни какого эффекта
От: Egel Россия  
Дата: 01.07.04 11:03
Оценка:
Здравствуйте, JibSkeart, Вы писали:

JS>Слышал что для in proc сервера та делать нельзя .

JS>но мне нужно что бы два клиента как бы общались итд .

JS>что посоветуете ?


Я делал такую штуку. Именно in-proc сервер, и именно синглтон. Причем с ним работают клиенты разных процессов. Для этого потребовалось:

1. Написал свою фабрику классов, со своей реализацией AddRef и Release, чтобы когда последний клиент сделал ->Release(); синглтон уничтожался.
2. В реестре указать параметр Surrogate для сервера.

Но насколько я помню, могут возникнуть проблемы с маршалингом (подробнее здесь
Автор(ы): Иван Андреев
Дата: 03.08.2003
Описание шаблона проектирования синглетон очень простое — синглетон представляет собой единственный экземпляр класса, с которым работают все клиенты. Применительно к COM шаблон проектирования синглетон гарантирует, что все вызовы CoCreateInstance будут возвращать указатель на интерфейс единственного экземпляра компонента. Удобство использования таких компонентов/классов заключается в том, что клиенты работают с одним и тем же экземпляром, а значит, получают доступ к разделяемому состоянию этого экземпляра. Несмотря на простое описание, не существует "идеальной" реализации этого шаблона ни в языке С++, ни для COM-объектов. Связано это с тем, что любая существующая реализация имеет некоторые ограничения и не может выступать в роли "универсальной" реализации на все случаи жизни.
).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.