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?

1 Answer 1


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.

  • 1
    I thought COM was a framework for app dev? Pre-.NET. Dec 5, 2011 at 15:57
  • 3
    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 (en.wikipedia.org/wiki/Component_Object_Model) 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, 2011 at 16:04
  • 1
    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, 2011 at 17:55
  • 1
    @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, 2014 at 22:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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