Реализация System.Runtime.Remoting.Channels.IChannel - PullRequest
1 голос
/ 09 января 2010

Я хочу иметь канал в памяти на одной машине.
могу ли я реализовать System.Runtime.Remoting.Channels.IChannel?
Я хочу сделать что-то вроде System.Runtime.Remoting.Channels.Memory.MemoryChannel.
Что еще мне делать?
Могу ли я сделать это за 10 дней?

1 Ответ

3 голосов
/ 09 января 2010

Вы, конечно, можете, но, во-первых, удаленное взаимодействие заменяется Windows Communication Foundation (WCF), который превосходит другие. Есть необходимая книга, в которой рассказывается об удаленном взаимодействии старой школы «Advanced .NET Remoting» Инго Раммера, прочитайте ее, и вы сможете реализовать MemoryChannel.

Но в .NET 2 есть IpcChannel для межпроцессного взаимодействия с использованием именованных каналов, TcpChannel с использованием протокола TCP и HttpChannel с использованием протокола HTTP.

Единственное стороннее программное обеспечение для удаленного взаимодействия Подлинные каналы (GC) имеет канал с общей памятью, который похож на IpcChannel (по сути то же самое), я успешно использовал GC. Существует также DotNetRemoting .

Подлинные каналы в настоящий момент находятся в затруднительном положении из-за отсутствия поддержки и их направления ... несмотря на создание отличной альтернативы реализации удаленного взаимодействия Microsoft. Что касается DotNetRemoting, я не использовал их продукт, поэтому никаких комментариев нет ...

Единственная вещь, связанная с реализацией пользовательского канала, заключается в том, что для этого нужно приложить немало усилий, поскольку вам необходимо реализовать интерфейсы, принадлежащие пространству имен Channel, например IChannel, IChannelSink для Назовите лишь несколько, а в вашем случае сделайте это за 10 дней ... Я сомневаюсь, что ...

Для начала, что именно вы хотите делать с каналом памяти?

Зачем изобретать велосипед, если можно использовать IpcChannel? Вы можете просто удивить себя, если узнаете, как это легко ... или почему бы не изучить WCF ...?

Я начинаю учить себя WCF, поэтому я не могу прокомментировать этот этап, так как изучаю его.

...