CommunicationState Enum

Definition

Definierar tillstånden där en ICommunicationObject kan finnas.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Arv
CommunicationState

Fält

Name Värde Description
Created 0

Anger att kommunikationsobjektet har instansierats och är konfigurerbart, men ännu inte öppet eller redo att användas.

Opening 1

Anger att kommunikationsobjektet övergår från tillståndet Created till tillståndet Opened .

Opened 2

Anger att kommunikationsobjektet nu är öppet och redo att användas.

Closing 3

Anger att kommunikationsobjektet övergår till tillståndet Closed .

Closed 4

Anger att kommunikationsobjektet har stängts och inte längre kan användas.

Faulted 5

Anger att kommunikationsobjektet har påträffat ett fel eller fel som det inte kan återställas från och som det inte längre kan användas från.

Kommentarer

Den här uppräkningen definierar de tillstånd som är giltiga för alla kommunikationsobjekt i systemet, inklusive kanaler, lyssnare, fabriker, speditörer och tjänstvärdar.

De metoder som hanterar övergångar mellan dessa tillstånd och de händelser som kan associeras med dem definieras i ICommunicationObject gränssnittet. Ett objekts tillstånd kan hämtas med hjälp av State egenskapen .

Det finns fyra huvudtillstånd och två tillfälliga tillstånd som ett kommunikationsobjekt kan uppta. De viktigaste tillstånden är:

  • Skapades

  • Öppnad

  • Stängt

  • Felaktigt

De två övergående tillstånden som ett kommunikationsobjekt kan uppta vid övergång mellan dessa huvudtillstånd är:

  • Ingående

  • Stänga

Kommunikationsobjektet kan konfigureras i tillståndet Skapad. Dess egenskaper kan till exempel ändras och dess händelser kan registreras. Inga indata eller utdata kan inträffa i det här tillståndet. Meddelanden kan till exempel inte skickas eller tas emot från en kanal i det här tillståndet.

Öppning är ett tillfälligt tillstånd som kommunikationsobjektet anger när Open metoden anropas. Om inget annat anges för härledda klasser kan objekt i öppningstillståndet inte konfigureras. Det här övergångstillståndet kan bara anges från tillståndet Skapad.

Objekt övergår till tillståndet Öppnat när den öppna processen är klar. Den här övergången till tillståndet Öppnade är endast giltig från tillståndet Öppning. Om inget annat anges för härledda klasser inaktiveras nu objektets konfiguration. I det här läget kan objektet användas fullt ut för meddelandeöverföringar.

Stängningen är ett tillfälligt tillstånd som objektet anger när Close metoden anropas för en graciös avstängning eller om objektet avbryts. Nu blir objektet (om inte redan) oanvändbart. Den här övergången är giltig från alla tillstånd utom tillståndet Stängd.

Det stängda tillståndet motsvarar att tas bort och konfigurationen av objektet kan fortfarande kontrolleras.

Det felaktiga tillståndet används för att indikera att objektet har övergått till ett tillstånd där det inte längre kan användas. Det finns två primära scenarier där detta kan inträffa:

  • Open Om metoden av någon anledning misslyckas övergår objektet till det felaktiga tillståndet.

  • Om en sessionsbaserad kanal identifierar ett fel som den inte kan återställa från övergår den till det felaktiga tillståndet. Detta kan inträffa till exempel om det finns ett protokollfel (dvs. det tar emot ett protokollmeddelande vid en ogiltig tidpunkt) eller om fjärrslutpunkten avbryter sessionen.

Ett objekt i feltillståndet är inte stängt och kan innehålla resurser. Metoden Abort ska användas för att stänga ett objekt som har fel. Om Close anropas på ett objekt i feltillstånd utlöses ett CommunicationObjectFaultedException eftersom objektet inte kan stängas korrekt.

Gäller för