CallbackBehaviorAttribute.ConcurrencyMode Egenskap

Definition

Hämtar eller anger om en tjänst stöder en tråd, flera trådar eller återaktiveringsanrop.

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

Egenskapsvärde

Ett av ConcurrencyMode värdena, standardvärdet är Single.

Undantag

Värdet är inte ett av ConcurrencyMode värdena.

Kommentarer

Den här egenskapen anger om en instans av ett motringningsobjekt har stöd för en tråd eller flera trådar som körs samtidigt, och om den är entrådig, om återaktivering stöds.

Single Inställningen ConcurrencyMode instruerar systemet att begränsa instanser av tjänsten till en körningstråd i taget, vilket gör att du inte kan hantera trådproblem. Det här är standardvärdet. Multiple Värdet innebär att tjänstobjekt kan köras av flera trådar samtidigt. I det här fallet måste du säkerställa trådsäkerhet och tillståndskonsekvens.

Reentrant begränsar också åtkomsten till en enskild tråd i taget. Det gör det dock möjligt för anrop från en körningstjänstmetod att returnera och återaktivera den körbara tjänsten. Ett reentrant-anrop kan köras på en annan hanterad tråd, men i det här fallet blockeras den ursprungliga tråden under reentrantanropets varaktighet.

Om ett meddelande tas emot för en instans som bryter mot dess samtidighetsläge väntar meddelandet vanligtvis tills instansen är tillgänglig eller tills den överskrider tidsgränsen.

Om ConcurrencyMode är inställt på Single och ett reentrant-anrop blockeras i väntan på att instansen ska frigöras identifierar systemet dessutom dödläget och utlöser ett undantag.

Mer information om samtidighet finns ServiceBehaviorAttribute.ConcurrencyModei och Sessioner, Instancing och Concurrency.

Gäller för