COM+ 1.5 provides a new feature called private components. Every component has, at the bottom of its activation tab, the “Mark component private to application” checkbox (see Figure B-15). A private component can only be accessed by other components in the same application. Private components are needed in almost every decent size COM+ project. To promote loose coupling between clients and objects, you should avoid providing the clients with access to the internal objects by marking them as private.
.NET Private Serviced Component
A .NET transactional serviced component can declare itself as a private component, using the PrivateComponent attribute:
[PrivateComponent] public class MyComponent :ServicedComponent {}
Note that a private component is different from an internal component. Declaring the class as internal instead of public prevents access to it from outside its assembly. A private component cannot be accessed by clients outside its COM+ application, but it can be accessed by other clients in the same application, including components from other assemblies.