Typy wątków dozownika zasobów COM+
Wywołania do modułu dozownika zasobów COM+ mogą pochodzić z jednego z następujących typów wątków:
- Wątek apartamentowy (STA)
- Dowolny wątek (MTA)
- Wątek inny niż COM (aplikacja lub menedżer dozowników wątku modułu odśmiecającego pamięci)
Jeśli dozownik zasobów nie jest obiektem COM, musi być w stanie obsługiwać wywołania przychodzące z dowolnego wątku w dowolnym momencie. Jeśli dozownik zasobów jest obiektem COM, obiekt COM powinien być zarejestrowany za pomocą modelu wątkowego Oba. Dzięki temu wątki STA lub MTA mogą tworzyć i używać dozownika zasobów bez przełącznika wątku.
Jeśli dozownik zasobów tworzy i używa innego obiektu COM (na przykład menedżera zasobów poza procesem), dozownik zasobów może wymagać obsługi wielu serwerów proxy do tego innego obiektu COM i upewnić się, że wywołania obiektu są wykonywane przy użyciu odpowiedniego serwera proxy dla wątku wywołującego. Gdy dozownik zasobów tworzy ten obiekt, jest on marshaling i zapisuje odwołanie. Przed ponownym wywołaniem obiektu należy go cofnąć, aby utworzyć serwer proxy dla wątku wywołującego.
Buforowanie tych serwerów proxy dla każdego wątku może być bardziej wydajne, zachowując mapę z identyfikatora wątku do wskaźnika serwera proxy. Ta mapa rozszerza się, gdy w procesie są używane nowe wątki.
Tematy pokrewne