NET Remoting и MarshalByRefObject действительно мертвы?

машинное общение. Да... Я знаю... NET Remoting широко считается устаревшей технологией, но я столкнулся с двумя очень особыми проблемами, и, возможно, в этих сценариях WCF не является полной заменой NET Remoting.

1) взаимодействие между AppDomain и внутри процесса

Приложение, над которым я работаю, запускается, и мне нужно найти и загрузить одно из нескольких надстроек. Я хочу загрузить каждую надстройку в отдельный домен приложения. Мне нужен способ создать каждый экземпляр Addin в его AppDomain и в какой-то момент вызвать некоторые методы интерфейса этого экземпляра. Здесь NET Remoting — единственный способ, верно? Более того, если мы хотим применить парадигму System.Addins, по-видимому, основанную только на NET Remoting и не помеченную как устаревшую...

2) межпроцессное-внутримашинное взаимодействие

Здесь я могу наверняка выставить из своего приложения службу WCF и вызвать эту службу из моего клиента с помощью именованных каналов.

Что я действительно хочу сделать, так это предоставить объектную модель из моего приложения, чтобы мое приложение можно было автоматизировать из какого-либо NET-клиента, во многом подобно объектной модели OLE/COM-автоматизации, предоставляемой Excel. Любой COM-клиент может получить ссылку на объект в Excel.Application и запросить открытые документы, открыть некоторые новые документы и так далее.

Я думаю, что WCF удобен для общения независимо от платформы. Но в этом случае мне нужно только общаться от сетевого клиента к сетевому приложению на той же машине. Я думаю, что философия службы WCF не позволяет раскрывать богатую объектную модель с объектами, коллекцией, полем, статическим членом, перегрузкой методов... Или я ошибаюсь?

Пожалуйста, извините мой плохой английский и, возможно, вопрос новичка.

8
задан unlikely 8 April 2012 в 16:35
поделиться