Remoting is a .NET specific technology that is essentially used as a means to communicate between
App Domains, process or networks.
More on Remoting
Common Language Runtime (CLR)
The virtual machine that manages .NET executables and resources (such as memory) is at the heart of what makes up the .NET Framework.
More on the CLR
App Domains
The unit of isolation or "sandbox" in which a .NET application lives. This is similar to a process but is specific to applications that use the CLR.
More on appdomains
WCF
- An IPC written in .NET that was made to be a wrapper for other IPC abstractions like msmq, named pipes, com, TCP, etc.
(Can talk to any of them or all of them independently of each other) - WCF can be pretty painful in terms of the learning curve but, if needing to work with other IPC technologies, it can't be beat.
Resources for WCF
I’d recommend watching an introduction video from here.
A few good Stack Overflow questions that are more helpful then slogging through MSDN are listed below:
WebApi
- WebApi is a simplified wrapper for WCF that works specifically with Web based subset (Communication via HTTP protocol)
Doesn’t need to be hosted in a website directly. It can be used within stand alone desktop or console app. - A good bit less power but a lot less painful.
Resources For WebApi
The docs and the free pluralsight videos are pretty good.
Additional examples can be found at:
CodeProject