Chasing Referrals
A single naming context on a server may not contain all of the data we might wish to find. Instead, the data may be distributed over different partitions and servers on the network. When a server does not have information requested by the client in a query, it can issue what is called a referral to direct the client to another location where that information might be found. As such, the client does not have to know where particular data can be found and can instead choose to continue the search on additional servers in the domain. We can specify four different referral behaviors.
- None. The client will ignore all referrals.
- Subordinate. The client will chase continuation references. Continuation references occur when the server hosts the naming context, but a subordinate context is requested. For instance, the server might return a subordinate referral to the configuration context when the default naming context is searched.
- External. The client will chase referrals in external domains. This occurs when the server does not host the naming context, but refers to another server that might host it. This is the default behavior.
- All. This is simply the bitwise-OR of .Subordinate and .External, indicating that both behaviors should be followed.
Note: Do Not Combine Subordinate Referrals with Paged Searches
If paged searching is used, the Subordinate option cannot be used. No error or other indication will occur; it will simply be ignored if specified.
Chasing referrals can be an expensive operation, so it is best to avoid it or to use the global catalog when possible. They can also have complex security implications when the same credentials are used to attempt to access disparate directories.