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 znovu zadat 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

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 provádějí souběžně, a pokud je podporována jednovláknová architektura, zda je podporována.

Nastavení ConcurrencyMode , které Single dává systému pokyn, aby omezil instance služby na jedno vlákno spuštění najednou, což vám umožní řešit 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 tomto případě je nutné zajistit konzistenci zabezpečení a stavu vlákna.

Reentrant zároveň omezuje přístup k jednomu vláknu. Umožňuje však volání z metody spuštěné služby vrátit a znovu zadat spuštěnou službu. Opětovné volání může být provedeno v 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 dorazí pro instanci, která porušuje režim souběžnosti, zpráva počká, dokud instance nebude dostupná, nebo dokud nevystane časový limit.

Kromě toho, pokud je nastavena ConcurrencyModeSingle a reentrant volání je blokován 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, vytváření instancí a souběžnosti.

Platí pro