PRB: Delayed DCOM Activation on Multihomed Computers

Article translations Article translations
Article ID: 288886 - View products that this article applies to.
This article was previously published under Q288886
Expand all | Collapse all

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:
http://msdn.microsoft.com/en-us/library/cc239441.aspx

Properties

Article ID: 288886 - Last Review: November 17, 2003 - Revision: 3.3
APPLIES TO
  • Microsoft COM+ 2.0 Standard Edition, when used with:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
Keywords: 
kbdcom kbprb KB288886

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com