Article ID: 288886 - View products that this article applies to.
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, the client'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 first IP address is not reachable, the call must timeout before the OR moves to the next IP address. The timeout period varies depending on the transport 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:
For more information about OXID resolution, refer to the Distributed Component Object Model Protocol specification at the following Microsoft Web site: