PRB: Delayed DCOM Activation on Multihomed Computers

This article was previously published under Q288886
This article has been archived. It is offered "as is" and will no longer be updated.
On a multihomed computer, you may encounter long Distributed Component Object Model (DCOM) activation times. When the server computer is connected to two networks (an internal and an external network), the client can only see the server IP address that is associated with the external network.
This problem occurs during the client's OXID resolution. During OXID resolution, the client computer uses either the IOXIDResolver::ResolveOxid2 or IOXIDResolver::ServerAlive method to make calls to the server computer.

Activation calls are optimized to carry out OXID resolution during the call. However, if there are multiple bindings for the server's OXID, theclient's OXID Resolver (OR) process makes calls on these bindings (ServerAlive) to test their accessibility. During interface pointer unmarshaling, the client's OR must call the server's OR to resolve the server OXID (ResolveOxid2), which may be followed by accessibility tests (ServerAlive).

In Windows NT 4.0, the OR makes the remote calls sequentially. If the firstIP address is not reachable, the call must timeout before the ORmoves to the next IP address. The timeout period varies depending on thetransport that is used.
To resolve this problem, change the order of TCP/IP binding so that the IP address to which the DCOM clients connect appears first in the list.

On Windows NT 4.0, follow these steps:
  1. In Control Panel, click Network.
  2. On the Bindings tab, in the Show Bindings for drop-down list box, click All Protocols.
  3. In the TCP/IP protocol list, move the external network interface card (NIC) to the top of the list.
  4. Click OK to apply the changes.
  5. Restart the computer for the changes to take effect.
On Windows 2000, follow these steps:
  1. On the Start menu, click Settings, and then click Network and Dial-up connections.
  2. On the Advanced menu, click Advanced Settings.
  3. In the Bindings list, move the external NIC to the top of the list.
  4. Click OK to apply the changes.
  5. Restart the computer for the changes to take effect.
For more information about OXID resolution, refer to the Distributed Component Object Model Protocol specification at the following Microsoft Web site:

Article ID: 288886 - Last Review: 01/06/2015 06:14:16 - Revision: 3.3

  • Microsoft COM+ 2.0 Standard Edition
  • kbnosurvey kbarchive kbdcom kbprb KB288886