다음을 통해 공유


IMembershipTable.UpdateRow(MembershipEntry, String, TableVersion) 메서드

정의

원자적으로 하나의 사일로에 대한 MembershipEntry를 업데이트하고 TableVersion도 업데이트하려고 합니다. 작업이 성공하면 테이블에 다음과 같은 변경 내용이 적용됩니다.

  1. 이 사일로에 대한 MembershipEntry가 새 MembershipEntry로 업데이트됩니다(이전 항목은 새 항목으로 완전히 대체됨).
  2. 업데이트된 MembershipEntry에 대한 eTag는 자동으로 생성된 새 고유 eTag를 사용하여 eTag가 됩니다.
  3. 테이블의 TableVersion.Version이 새 TableVersion.Version으로 업데이트됩니다.
  4. 테이블의 TableVersion etag는 자동으로 생성된 새 고유 eTag로 업데이트됩니다. 테이블에 대한 모든 변경 내용, 새 행 업데이트 및 테이블 버전 및 관련 etag 업데이트는 원자적으로 발생하거나 부작용 없이 원자성으로 실패해야 합니다. 작업은 다음 각 조건에서 실패해야 합니다.
  5. 지정된 사일로에 대한 MembershipEntry가 테이블에 없습니다.
  6. 지정된 사일로에 대한 MembershipEntry는 테이블에 있지만 테이블의 해당 etag가 제공된 etag와 일치하지 않습니다.
  7. 지정된 TableVersion etag(TableVersion.VersionEtag 속성에 지정된)가 테이블의 TableVersion etag와 일치하지 않아 TableVersion의 업데이트가 실패했습니다.
public System.Threading.Tasks.Task<bool> UpdateRow (Orleans.MembershipEntry entry, string etag, Orleans.TableVersion tableVersion);
abstract member UpdateRow : Orleans.MembershipEntry * string * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
Public Function UpdateRow (entry As MembershipEntry, etag As String, tableVersion As TableVersion) As Task(Of Boolean)

매개 변수

entry
MembershipEntry

업데이트할 MembershipEntry입니다.

etag
String

지정된 MembershipEntry에 대한 etag입니다.

tableVersion
TableVersion

etag와 함께 이 테이블의 새 TableVersion입니다.

반환

True이면 업데이트 작업이 성공하고 그렇지 않으면 false입니다.

적용 대상