Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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

1 Answer 1

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
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 '11 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 '11 at 17:55

Your Answer

 
discard

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.