ROT в .NET
От: Arsen.Shnurkov  
Дата: 08.12.11 09:09
Оценка:
У меня есть несколько приложений, которые могут пользоваться общими функциями.
Т.е. мне нужно что-то вроде локального сервера.

Вот, например, запускаю я Firefox, из Firefox вызываю плагин,
плагин обращается к этому серверу и выдает ему команду сделать то, или иное.

Я знаю три с половиной способа реализовать такую функциональность:

1) создать Windows-сервис.
Недостаток этого способа в том, что сервер будет работать всё время после старта машины,
а не тогда, когда запущены приложения, его использующие

2) написать com-сервер, объекты искать через ROT (Running Object Table)

3) написать что-то на основе сокетов (например на remoting),
затем через обертки socket API выяснять, запущен ли уже сервер
и если нет, то запускать.
Недостаток этого способа в том, что неясно, когда сервер пора останавливать
(хотя механизм Lease отчасти решает этот вопрос)

4) давным-давно можно было создавать dll-ки с shared-секциями данных,
но я не знаю, работает ли это в новых операционных системах
и как это сделать средствами .net (видимо unsafe + что-то еще)

Вопрос — как реализовать это "чистыми" средствами .Net ?

Правильно ли я понимаю, что нужно разбираться с WCF и Windows Activation Services?
Это чем-нибудь отличается принципиально от варианта 3 ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.