Sdílet prostřednictvím


CallbackBehaviorAttribute.ConcurrencyMode Vlastnost

Definice

Získá nebo nastaví, zda služba podporuje jedno vlákno, více vláken nebo opakované volání.

public:
 property System::ServiceModel::ConcurrencyMode ConcurrencyMode { System::ServiceModel::ConcurrencyMode get(); void set(System::ServiceModel::ConcurrencyMode value); };
public System.ServiceModel.ConcurrencyMode ConcurrencyMode { get; set; }
member this.ConcurrencyMode : System.ServiceModel.ConcurrencyMode with get, set
Public Property ConcurrencyMode As ConcurrencyMode

Hodnota vlastnosti

ConcurrencyMode

Jedna z ConcurrencyMode hodnot; výchozí hodnota je Single.

Výjimky

Hodnota není jednou z ConcurrencyMode hodnot.

Poznámky

Tato vlastnost označuje, zda instance objektu zpětného volání podporuje jedno vlákno nebo více vláken, která se spouští souběžně, a pokud je podporována jednovláknová architektura, zda je podporována opětovná podpora.

Nastavení ConcurrencyMode , které Single dává systému pokyn omezit instance služby na jedno vlákno provádění najednou, což vás uvolní z práce s problémy s vlákny. Toto je výchozí hodnota. Hodnota Multiple znamená, že objekty služby lze spustit několika vlákny najednou. V takovém případě musíte zajistit konzistenci zabezpečení a stavu vláken.

Reentrant také omezuje přístup k jednomu vláknu najednou. Umožňuje však volání z metody spouštěné služby vrátit a znovu zadat spuštěnou službu. Opakované volání se může spustit na jiném spravovaném vlákně, ale v tomto případě je původní vlákno blokováno po dobu trvání opakovaného volání.

Obecně platí, že pokud zpráva přijde pro instanci, která porušuje režim souběžnosti, zpráva počká, až bude instance dostupná, nebo dokud nevystane časový limit.

Kromě toho, pokud je nastavena ConcurrencyMode a Single opětovné volání je blokováno při čekání na uvolnění instance, systém zjistí zablokování a vyvolá výjimku.

Další informace o souběžnosti najdete v tématech ServiceBehaviorAttribute.ConcurrencyMode a relacích, instancingu a souběžnosti.

Platí pro