> By the way, Ian: what did you mean by "MTA components will > never be reentered on a single thread, but STA components can > be". AFAIK, MTA components CAN reenter into themselves either > directly or indirectly...
I'm sure what Ian meant was this: if an MTA-based object makes an out-of-apartment call, that thread (say, thread A) is blocked on the return of the that. If another call comes in for that object, or if the causality re-enters the same object, that call will be serviced with thread B, never thread A. Because thread A is blocking on the return of the first outbound call. In the case of STA-based object, if it makes an out-of-apartment call, if another call or the same causality reenters that object, it will *always* be reentered by the same thread. Because the message pump is being serviced while the outbound call is going on. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.
