Understanding the Transaction Context Methods

With interactive clients, a well-defined set of interactions between the client and server are required to support evaluating and changing Permission values for an object. To facilitate these tasks, a server-side transaction context is now supported to maintain state during client requests. ISecurityAdmin methods that get or set Permission values can request a handle for a transaction context. This transaction context is a server-side structure that tracks incremental Permission changes, so that IdentityGroup memberships can be factored in for the client. For example, in SAS Management Console, in the Authorization tab of a resource’s Properties window, a user can select grant or deny on different permissions for the identities displayed. The state of all currently persisted and effective Permission values, along with incremental Permission changes pending from selections in the GUI, are maintained by the transaction context on the server. If the user clicks OK, the client commits the changes on the SAS Metadata Server. If the user clicks Cancel, the changes in the transaction context are discarded.
A transaction context is created by using the BeginTransactionContext method. It is committed or discarded by using the EndTransactionContext method. For more information, see BeginTransactionContext. Also see EndTransactionContext.