Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In Pro C# 2008 it is stated

Using constructs such as AppIDs, stubs, proxies, and the COM runtime environment, programmers can avoid the need to work with raw sockets, RPC calls, and other low-level details.

It then demonstrates a VB6 call where a COM object is instantiated by passing in the AppId. Then, a method call is performed on said object.

Does this mean COM allows IPC directly with objects? Is this secure? Why does .NET disallow this behavior?

share|improve this question
up vote 4 down vote accepted

Yes, COM is a form of IPC. It is even listed on the IPC page you linked.

.NET does not prohibit IPC. In fact, it provides several mechanisms to do IPC. I think the intention, as outlined in your quoted block, is that the .Net mechanisms are provided at a higher level (COM, Enterprise Services, Remoting) rather than doing low level activities such as socket programming, shared memory, remote procedure calls, etc.

share|improve this answer
I thought COM was a framework for app dev? Pre-.NET. – P.Brian.Mackey Dec 5 '11 at 15:57
Depends on your use of the word framework... it is not a general purpose app development framework like the .Net framework. One could call it an IPC framework, but that is not the same definition as an app framework. Please see the COM page ( linked from the IPC page for a somewhat elaborate description of COM and what it entails. It is pretty much defined as a technology to provide inter-process communications. – Tevo D Dec 5 '11 at 16:04
If you think COM is outdated: WinRT is based on COM. Which means COM will stay the favoured IPC-mechanism on Windows for the next decade(s). – Patrick Dec 5 '11 at 17:55
@Patrick COM is not the favored IPC mechanism on Windows. Especially if you have two .NET processes, there are other ways to implement IPC that are both easier to implement and more performant than COM. There are alot of factors that go into choosing an IPC mechnism, and I wouldn't go as far as to say one or the other is favored or best. – AaronLS Nov 5 '14 at 22:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.