Sdílet prostřednictvím


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

  1. 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.

  2. V dialogovém okně vlastností komponenty klikněte na kartu Aktivace.

  3. Zaškrtněte políčko Musí být aktivováno ve výchozím kontextu.

  4. 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.

 

Koncepty Just-in-Time aktivace COM+

Vynucení aktivace v kontextu volajícího