Vynucení aktivace ve výchozím kontextu
Nakonfigurovaná COM komponenta je obvykle aktivována ve vlastním kontextu; to znamená, že COM+ odkazuje na informace o katalogu komponenty, aby poskytla všechny nakonfigurované služby. Můžete se ale rozhodnout aktivovat nakonfigurovanou komponentu ve výchozím kontextu. Základní COM komponenta—registrovaná komponenta, která nemá žádné informace o katalogu COM+—se obvykle aktivuje ve výchozím kontextu.
Aktivace komponenty COM ve výchozím kontextu poskytuje tři hlavní výhody výkonu:
- Šetříte systémové prostředky omezením počtu vytvořených kontextů.
- Zvýšíte výkon omezením počtu volání mezi kontexty. Vzhledem k tomu, že volání napříč kontexty vyžadují zařazování, je pro objekt COM aktivovaný ve výchozím kontextu mnohem rychlejší provádět volání na jiné objekty ve výchozím kontextu. Výkon v tomto případě (volání ve stejném kontextu) je podobný výkonu při volání podprogramu.
- Starší aplikace MODELU COM můžete importovat do modelu COM+ a spustit je bez problémů. Můžete mít například několik starších aplikací COM implementovaných za předpokladu, že bylo možné předávat odkazy na objekty v rámci bytu bez přebalování odkazů. Tyto aplikace modelu COM nefungují při importu do modelu COM+, protože odkazy na objekty jsou předány přes hranice kontextu. Tento typ aplikace COM můžete spustit při importu, pokud použijete nástroj pro správu Component Services k označení všech tříd v aplikaci jako Musí být aktivovány ve výchozím kontextu.
Hlavní nevýhodou aktivace nakonfigurované komponenty ve výchozím kontextu je, že com+ neposkytuje žádnou z nakonfigurovaných služeb komponenty. Mezi vylepšeným výkonem a schopností využívat služby COM+ je kompromis.
Příklad: Předpokládejme, že komponenta COM nevyžaduje žádné služby COM+ (například transakce, aktivace v pravý čas, události, frontované komponenty, synchronizacenebo sdružování objektů) a že komponenta uskutečňuje řadu volání jiných komponent COM, které mohou být aktivovány v defaultním kontextu. V tomto případě by bylo vhodné aktivovat volající komponentu ve výchozím kontextu.
Pokud komponenta COM vyžaduje služby modelu COM+, nelze ji označit jako Musí být aktivována ve výchozím kontextu. Kromě toho neexistuje žádný skutečný výkon, pokud objekt COM aktivovaný ve výchozím kontextu provede řadu volání objektů v jiných kontextech. (Další podrobnosti najdete v části Kontexty.)
Vynucení aktivace ve výchozím kontextu
V podokně podrobností nástroje pro správu služby Component Services klikněte pravým tlačítkem myši na komponentu (umístěnou ve složce Součásti libovolné vybrané aplikace modelu COM+), kterou chcete aktivovat ve výchozím kontextu, a poté klikněte na tlačítko Vlastnosti.
V dialogovém okně vlastností komponenty klikněte na kartu Aktivace.
Zaškrtněte políčko Musí být aktivováno ve výchozím kontextu.
Klepněte na tlačítko OK.
Poznámka
Když spustíte nakonfigurovanou komponentu ve výchozím kontextu, com+ neaktivuje pro tuto komponentu žádnou z nakonfigurovaných služeb. Tyto služby jsou znovu k dispozici, když zrušíte zaškrtnutí políčka Musí být aktivována ve výchozím kontextua následně spustíte nakonfigurovanou komponentu v jejím vlastním kontextu.
Související témata