Microsoft KB Archive/288886

From BetaArchive Wiki
Knowledge Base


Article ID: 288886

Article Last Modified on 11/17/2003



APPLIES TO

  • Microsoft COM+ 2.0 Standard Edition, when used with:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 2000 Standard Edition



This article was previously published under Q288886

SYMPTOMS

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.

CAUSE

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.

RESOLUTION

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.


REFERENCES

For more information about OXID resolution, refer to the Distributed Component Object Model Protocol specification at the following Microsoft Web site:


Additional query words: multi-homed

Keywords: kbdcom kbprb KB288886