Compartir a través de


IMembershipTableSystemTarget Interfaz

Definición

Interfaz de tabla de pertenencia para la implementación basada en destino del sistema.

[Orleans.Concurrency.Unordered]
public interface IMembershipTableSystemTarget : Orleans.IMembershipTable, Orleans.ISystemTarget
[<Orleans.Concurrency.Unordered>]
type IMembershipTableSystemTarget = interface
    interface IMembershipTable
    interface ISystemTarget
    interface IAddressable
Public Interface IMembershipTableSystemTarget
Implements IMembershipTable, ISystemTarget
Atributos
Implementaciones

Métodos

CleanupDefunctSiloEntries(DateTimeOffset)

Eliminar todas las entradas de silo inactivas anteriores a beforeDate

(Heredado de IMembershipTable)
DeleteMembershipTableEntries(String)

Elimina todas las entradas de tabla del clusterId especificado.

(Heredado de IMembershipTable)
InitializeMembershipTable(Boolean)

Inicializa la tabla de pertenencia, se llamará antes de todos los demás métodos.

(Heredado de IMembershipTable)
InitializeMembershipTable(GlobalConfiguration, Boolean, Logger)

Inicializa la tabla de pertenencia, se llamará antes de todos los demás métodos.

(Heredado de IMembershipTable)
InsertRow(MembershipEntry, TableVersion)

Intenta insertar (agregar) de forma atómica un nuevo MembershipEntry para un silo y también actualizar TableVersion. Si la operación se realiza correctamente, se realizarán los siguientes cambios en la tabla:

  1. Se agregará new MembershipEntry a la tabla.
  2. El elemento MembershipEntry recién agregado también se agregará con la nueva eTag generada automáticamente.
  3. TableVersion.Version de la tabla se actualizará a la nueva tableVersion.Version.
  4. TableVersion etag de la tabla se actualizará a la nueva eTag generada automáticamente. Todos los cambios realizados en la tabla, la inserción de una nueva fila y la actualización de la versión de la tabla y las etiquetas electrónicas asociadas, deben producirse de forma atómica o generar un error atómico sin efectos secundarios. La operación debe producir un error en cada una de las condiciones siguientes:
  5. Un membershipEntry para un silo determinado ya existe en la tabla
  6. Error en la actualización de TableVersion porque la etiqueta etag tableVersion especificada (como se especifica en la propiedad TableVersion.VersionEtag) no coincide con la etiqueta etag tableVersion de la tabla.
(Heredado de IMembershipTable)
ReadAll()

Lee de forma atómica el contenido completo de la tabla de pertenencia. MembershipTableData devuelto incluye toda la entrada MembershipEntry para todos los silos de la tabla y TableVersion para esta tabla. MembershipEntries y TableVersion deben leerse de forma atómica.

(Heredado de IMembershipTable)
ReadRow(SiloAddress)

Lee de forma atómica la información de la tabla de pertenencia sobre un silo determinado. MembershipTableData devuelto incluye una entrada MembershipEntry para un silo determinado y TableVersion para esta tabla. MembershipEntry y TableVersion deben leerse de forma atómica.

(Heredado de IMembershipTable)
UpdateIAmAlive(MembershipEntry)

Novedades la parte IAmAlive (columna) de MembershipEntry para este silo. Esta operación solo debe actualizar la columna IAmAlive y no cambiar otras columnas. Esta operación es una "escritura desfasada" o "actualización local" y se realiza sin validación de etag. Con respecto a la actualización de eTags: esta operación puede actualizar automáticamente la eTag asociada a la fila de silo especificada, pero no tiene que hacerlo. También puede dejar la etiqueta etag no cambiada ("escritura sucia"). Con respecto a TableVersion: esta operación no debe cambiar tableVersion de la tabla. Debería dejarlo intacto. No hay ningún escenario en el que esta operación podría producir un error debido a motivos semánticos de tabla. Solo se puede producir un error debido a problemas de red o falta de disponibilidad de la tabla.

(Heredado de IMembershipTable)
UpdateRow(MembershipEntry, String, TableVersion)

Intenta actualizar atomicmente MembershipEntry para un silo y también actualiza TableVersion. Si la operación se realiza correctamente, se realizarán los siguientes cambios en la tabla:

  1. MembershipEntry para este silo se actualizará al nuevo MembershipEntry (la entrada anterior será totalmente sustituida por la nueva entrada).
  2. La eTag de membershipEntry actualizada también será eTag con el nuevo eTag generado automáticamente.
  3. TableVersion.Version de la tabla se actualizará a la nueva tableVersion.Version.
  4. TableVersion etag de la tabla se actualizará a la nueva eTag generada automáticamente. Todos los cambios realizados en la tabla, la actualización de una nueva fila y la actualización de la versión de la tabla y las etiquetas electrónicas asociadas, deben producirse de forma atómica o generar errores atómicos sin efectos secundarios. La operación debe producir un error en cada una de las condiciones siguientes:
  5. Un MembershipEntry para un silo determinado no existe en la tabla
  6. Un membershipEntry para un silo determinado existe en la tabla, pero su etag en la tabla no coincide con la etag proporcionada.
  7. Error en la actualización de TableVersion porque la etiqueta etag tableVersion especificada (como se especifica en la propiedad TableVersion.VersionEtag) no coincide con la etiqueta etag tableVersion de la tabla.
(Heredado de IMembershipTable)

Métodos de extensión

AsReference(IAddressable, Type)

Devuelve una referencia con tipo al grano proporcionado.

AsReference<TGrainInterface>(IAddressable)

Devuelve una referencia con tipo al grano proporcionado.

BindGrainReference(IAddressable, IGrainFactory)

Enlaza la referencia de grano a la proporcionada IGrainFactory.

Cast(IAddressable, Type)

Devuelve una referencia con tipo al grano proporcionado.

Cast<TGrainInterface>(IAddressable)

Devuelve una referencia con tipo al grano proporcionado.

GetGrainId(IAddressable)

Devuelve el identificador de grano correspondiente al grano proporcionado.

GetPrimaryKey(IAddressable, String)

Devuelve la Guid representación de una clave principal de grano.

GetPrimaryKey(IAddressable)

Devuelve la Guid representación de una clave principal de grano.

GetPrimaryKeyLong(IAddressable, String)

Devuelve la long representación de una clave principal de grano.

GetPrimaryKeyLong(IAddressable)

Devuelve la long representación de una clave principal de grano.

GetPrimaryKeyString(IAddressable)

Devuelve la string clave principal del grano.

IsPrimaryKeyBasedOnLong(IAddressable)

Devuelve si parte de la clave principal es de tipo long.

Se aplica a