views:

105

answers:

1

Hi.
I want to have an in-memory channel in one single machine.
can i implement System.Runtime.Remoting.Channels.IChannel?
I want to make something like System.Runtime.Remoting.Channels.Memory.MemoryChannel.
What else should i do?
Can i make it in 10 days?

+1  A: 

You certainly can, but first, remoting is being superseded by Windows Communication Foundation (WCF) which is superior. There is an indispensable book that covers the old school remoting, 'Advanced .NET Remoting' by Ingo Rammer, read that up and you will be able to implement a MemoryChannel.

But in .NET 2, there is IpcChannel for Interprocess communication by using named pipes, TcpChannel by using TCP protocol and HttpChannel by using HTTP protocol.

The only third party remoting software Genuine Channels (GC) has a Shared Memory Channel which is similar to IpcChannel (fundamentally the same thing), I have used GC successfully. There is also DotNetRemoting.

Genuine Channels are in a bit of an iffy position at the moment due to lack of support and their direction...despite producing an excellent alternative to Microsoft's implementation of remoting. As for DotNetRemoting, I have not used their product so no comment there...

The only thing about implementing a custom channel is, there is a lot of coding effort to do so, as you have to implement the interfaces that belongs to the Channel namespace, such as IChannel, IChannelSink to name but a few, and in your case, make it in 10 days... I doubt that...

For starters, what is it you exactly want to do with a Memory Channel?

Why reinvent the wheel when IpcChannel can be used? You might just surprise yourself if you find out how easy it is..or why not learn WCF...?

I am beginning to teach myself WCF so I cannot really comment on this stage as I am learning it.

Hope this helps, Best regards, Tom.

tommieb75