Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Atrybut synchronizacji jest właściwością deklaratywną, która określa typ synchronizacji, którą mają mieć składniki po ich aktywowaniu. Po dołączeniu atrybutu synchronizacji com+ obsługuje szczegóły synchronizacji w Twoim imieniu; nie trzeba wykonywać żadnych innych połączeń.
W zależności od wymagań obiekt może współużytkować synchronizację obiektu wywołującego, wymagać nowej synchronizacji lub działać bez synchronizacji.
Com+ udostępnia następujące wartości atrybutów synchronizacji:
Niepełnosprawny. Po wyłączeniu atrybutu synchronizacji com+ ignoruje wymagania synchronizacji składnika w określaniu kontekstu dla obiektu. W związku z tym obiekt może lub nie może udostępniać kontekstu obiektu wywołującego (i synchronizacji).
Ogólnie rzecz biorąc, należy użyć tej wartości atrybutu, gdy wiadomo, że składnik nigdy nie uzyskuje dostępu do menedżera zasobów. Podczas migrowania składników COM+do modelu COM+należy wyłączyć atrybut synchronizacji, aby zachować to samo zachowanie co nieskonfigurowany składnik COM. Nieskonfigurowany składnik jest składnikiem COM, który nie został zainstalowany w aplikacji COM+.
Nieobsługiwane. Obiekt o tej wartości nigdy nie uczestniczy w synchronizacji, niezależnie od stanu jego obiektu wywołującego. To ustawienie jest dostępne tylko dla składników, które nie są transakcyjne i nie korzystają z usługi aktywacji COM+ just in time (JIT).
Obsługiwane. Obiekt o tej wartości uczestniczy w synchronizacji, jeśli istnieje. Zadeklaruj tę wartość, gdy obiekt ma być współużytkowy w synchronizacji obiektu wywołującego, ale nie wymaga synchronizacji własnego obiektu.
Dobrym powodem ustawienia atrybutu synchronizacji jest to, że to ustawienie może być tańsze pod względem zasobów systemowych. Jednak trudniej jest napisać składnik ze względu na potrzebę ochrony go przed równoczesnych wywołań. Implikacją ustawienia atrybutu synchronizacji na Obsługiwane jest to, że w pewnych okolicznościach wystąpienie obiektu może zostać utworzone w taki sposób, że nie jest zsynchronizowany. Jeśli model wątkowania składnika ma wartość Bezpłatna lub Oba, musisz chronić dane wystąpienia za pomocą pewnego typu mechanizmu blokowania. Jeśli model wątkowania to Apartament (STA), nie musisz chronić danych wystąpienia.
Wymagane. Po ustawieniu tego atrybutu com+ gwarantuje, że wszystkie obiekty utworzone na podstawie składnika zostaną zsynchronizowane. W efekcie za każdym razem, gdy com+ tworzy wystąpienie składnika, upewnia się, że w danym momencie jest tylko jeden wątek przechodzący przez to wystąpienie.
Gdy com+ aktywuje obiekt, sprawdza stan synchronizacji jego obiektu wywołującego. Jeśli obiekt wywołujący jest synchronizowany, com+ przepływa granicę synchronizacji obiektu wywołującego w celu uwzględnienia nowego obiektu. W przeciwnym razie com+ rozpoczyna synchronizację.
Wymaga nowego. Obiekt o tej wartości musi uczestniczyć w nowej synchronizacji, gdzie COM+ zarządza kontekstami i mieszkaniami w imieniu wszystkich składników zaangażowanych w wywołanie. Com+ automatycznie inicjuje nową synchronizację, która różni się od synchronizacji obiektu wywołującego.
Dobrym powodem ustawienia atrybutu synchronizacji na Wymaga nowego jest to, że to ustawienie umożliwia wykonywanie wywołań zewnętrznych do wystąpienia składnika wydajniej. Jednak wykonuje również wywołania między obiektem a obiektem, który utworzył go droższe pod względem zasobów systemowych.
Załóżmy na przykład, że przypadek, w którym obiekt i jego obiekt twórcy współdzielą tę samą granicę synchronizacji. Jeśli klient A wywołuje obiekt twórcy, a klient B wywołuje obiekt, drugie wywołanie będzie musiało poczekać na ukończenie pierwszego wywołania. Jeśli ustawisz opcję Wymaga nowego, obiekt zostanie utworzony w oddzielnej granicy synchronizacji. W takim przypadku wywołania z innych obiektów mogą być przetwarzane w tym samym czasie. Jednak wywołania obiektu twórcy do obiektu wymagają większej liczby zasobów systemowych, ponieważ muszą przekraczać granice synchronizacji.
Tematy pokrewne