You work as the Microsoft.NET developer at Domain.com. The Domain.com network consists of a single Active Directory domain named Domain.com. All servers in the domain run Windows Server 2003. The creation, configuration and deployment of Remoting applications form part of your responsibilities at Domain.com.
You are currently developing a Microsoft.NET Remoting component that will allow all Domain.com employees to send messages and receive messages to each other. To this end you implement the message functionality in an assembly named Messenger.dll. Messenger.dll contains the remotable types. You further implement a host application to host the remotable types and a client application that will provide the user interface.
The Messenger.dll assembly must be private to the application and thus you use both client and server configuration files to configure .NET Remoting. Keep in mind that you are not using any custom .NET Remoting extensions, i.e. custom formatters or custom channels. You thus need to configure the application so that you can use strongly-typed instances of the remotable types in the client application.
What should you do?
A.
You should install the Messenger.dll assembly as a private component into the COM+ catalog.
B.
You should install the Messenger.dll assembly into the global assembly cache (GAC).
C.
You should add a reference to the Messenger.dll assembly in the client application.
D.
You should add a reference to the Messenger.dll assembly in the remote host application.
Explanation:
This option will allow you to access the types in a strongly-typed manner. Even when instances of these types will be proxy instances at run time, the instances will be marshaled between the client and remote host applications.
Incorrect answers:
A: This option will allow the other COM+ components in the same COM+ application to access the component. Furthermore it will also require the types defined in the Messenger.dll assembly to be hosted by the COM+ hosting process, and in this case the types are hosted by a custom remote host application.
B: The assembly should not be installed in the GAC because the GAC allows for the sharing of assemblies. One requirement is to have the Messenger.dll assembly private to the application.
D: The reference to the Messenger.dll assembly should not be added in the remote host assembly. This will make allowance for using strongly typed instances within the remote host application and not the client application.