Dela via


Kompatibla korn

När en befintlig kornaktivering är på väg att bearbeta en begäran kontrollerar körningen om versionen i begäran och den faktiska versionen av kornet är kompatibla. Orleans härleder inte vilken policy som ska användas vid körning. Standardbeteendet för att fastställa kompatibilitet mellan två versioner definieras av Orleans.Versions.Compatibility.CompatibilityStrategy.

Bakåtkompatibel (standard)

Definition

En korngränssnittsversion Vn kan vara bakåtkompatibel med Vm om:

  • Namnet på gränssnittet ändrades inte (eller den åsidosatta typkoden).
  • Alla offentliga metoder som finns i Vm versionen finns också i Vn versionen. Det är viktigt att inte ändra signaturerna för metoder som ärvts från Vm: eftersom Orleans använder en intern inbyggd serialiserare kan det bryta serialiseringen genom att ändra eller byta namn på ett fält (även privat).

Eftersom Vn kan ha lagt till metoder jämfört med Vm, Vm är inte kompatibel med Vn.

Exempel

Om du har två versioner av ett visst gränssnitt i klustret är V1 och V2 och V2 bakåtkompatibla med V1:

  • Om den aktuella aktiveringen är V2 och den begärda versionen är V1 kan den aktuella aktiveringen bearbeta begäran normalt.
  • Om den aktuella aktiveringen är V1 och den begärda versionen är V2 inaktiverar Orleans du den aktuella aktiveringen och skapar en ny aktivering som är kompatibel med V2 (se Strategi för versionsväljare).

Fullständigt kompatibel

Definition

En korngränssnittsversion Vn kan vara helt kompatibel med Vm om:

  • Vn är bakåtkompatibel med Vm.
  • Inga offentliga metoder har lagts till i Vn versionen.

Om Vn är helt kompatibelt med Vmär även Vm fullständigt kompatibelt med Vn.

Exempel

Om du har två versioner av ett visst gränssnitt i klustret är V1 och V2 och V2 helt kompatibla med V1:

  • Om den aktuella aktiveringen är V2 och den begärda versionen är V1 kan den aktuella aktiveringen bearbeta begäran normalt.
  • Om den aktuella aktiveringen är V1 och den begärda versionen är V2 kan den aktuella aktiveringen även bearbeta begäran normalt.