| <!DOCTYPE html> |
| <!--[if IE]><![endif]--> |
| <html> |
| |
| <head> |
| <link rel="canonical" href="https://ignite.apache.org/releases/2.8.0/dotnetdoc/api/Apache.Ignite.Core.Transactions.ITransaction.html" /> |
| <META NAME="ROBOTS" CONTENT="NOINDEX"> |
| |
| |
| |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Interface ITransaction |
| | Apache Ignite.NET </title> |
| <meta name="viewport" content="width=device-width"> |
| <meta name="title" content="Interface ITransaction |
| | Apache Ignite.NET "> |
| <meta name="generator" content="docfx 2.24.0.0"> |
| |
| <link rel="shortcut icon" href="../images/favicon.ico"> |
| <link rel="stylesheet" href="../styles/docfx.vendor.css"> |
| <link rel="stylesheet" href="../styles/docfx.css"> |
| <link rel="stylesheet" href="../styles/main.css"> |
| <meta property="docfx:navrel" content="../toc.html"> |
| <meta property="docfx:tocrel" content="toc.html"> |
| |
| <meta property="docfx:rel" content="../"> |
| |
| |
| <script> |
| (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
| (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
| m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
| |
| ga('create', 'UA-61232409-1', 'auto'); |
| ga('send', 'pageview'); |
| |
| </script></head> |
| <body data-spy="scroll" data-target="#affix"> |
| <div id="wrapper"> |
| <header> |
| |
| <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| |
| <a class="navbar-brand" href="../index.html"> |
| <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt=""> |
| </a> |
| </div> |
| <div class="collapse navbar-collapse" id="navbar"> |
| <form class="navbar-form navbar-right" role="search" id="search"> |
| <div class="form-group"> |
| <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| |
| <div class="subnav navbar navbar-default"> |
| <div class="container hide-when-search" id="breadcrumb"> |
| <ul class="breadcrumb"> |
| <li></li> |
| </ul> |
| </div> |
| </div> |
| </header> |
| <div class="container body-content"> |
| |
| <div id="search-results"> |
| <div class="search-list"></div> |
| <div class="sr-items"></div> |
| <ul id="pagination"></ul> |
| </div> |
| </div> |
| <div role="main" class="container body-content hide-when-search"> |
| |
| <div class="sidenav hide-when-search"> |
| <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> |
| <div class="sidetoggle collapse" id="sidetoggle"> |
| <div id="sidetoc"></div> |
| </div> |
| </div> |
| <div class="article row grid-right"> |
| <div class="col-md-10"> |
| <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Transactions.ITransaction"> |
| |
| |
| <h1 id="Apache_Ignite_Core_Transactions_ITransaction" data-uid="Apache.Ignite.Core.Transactions.ITransaction" class="text-break">Interface ITransaction |
| </h1> |
| <div class="markdown level0 summary"><p>Grid cache transaction. |
| <p> |
| Cache transactions support the following isolation levels: |
| <ul><li><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_ReadCommitted">ReadCommitted</a> isolation level |
| means that always a committed value will be provided for read operations. With this isolation |
| level values are always read from cache global memory or persistent store every time a value |
| is accessed. In other words, if the same key is accessed more than once within the same transaction, |
| it may have different value every time since global cache memory may be updated concurrently by |
| other threads.</li><li><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_RepeatableRead">RepeatableRead</a> isolation level |
| means that if a value was read once within transaction, then all consecutive reads will provide |
| the same in-transaction value. With this isolation level accessed values are stored within |
| in-transaction memory, so consecutive access to the same key within the same transaction will always |
| return the value that was previously read or updated within this transaction. If concurrency is |
| <a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html#Apache_Ignite_Core_Transactions_TransactionConcurrency_Pessimistic">Pessimistic</a>, then a lock on the key will be |
| acquired prior to accessing the value.</li><li><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_Serializable">Serializable</a> isolation level means |
| that all transactions occur in a completely isolated fashion, as if all transactions in the system |
| had executed serially, one after the other. Read access with this level happens the same way as with |
| <a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_RepeatableRead">RepeatableRead</a> level. However, in |
| <a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html#Apache_Ignite_Core_Transactions_TransactionConcurrency_Optimistic">Optimistic</a> mode, if some transactions cannot be |
| serially isolated from each other, then one winner will be picked and the other transactions in |
| conflict will result in <code>TransactionOptimisticException</code> being thrown on Java side.</li></ul> |
| Cache transactions support the following concurrency models: |
| <ul><li><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html#Apache_Ignite_Core_Transactions_TransactionConcurrency_Optimistic">Optimistic</a> - in this mode all cache |
| operations |
| are not distributed to other nodes until <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_Commit">Commit()</a>. |
| In this mode one <code>PREPARE</code> message will |
| be sent to participating cache nodes to start acquiring per-transaction locks, and once all nodes |
| reply <code>OK</code> (i.e. <code>Phase 1</code> completes successfully), a one-way <code>COMMIT</code> message is sent |
| without waiting for reply. If it is necessary to know whenever remote nodes have committed as well, |
| synchronous commit or synchronous rollback should be enabled via |
| <code>CacheConfiguration.setWriteSynchronizationMode</code>. |
| <p> |
| Note that in this mode, optimistic failures are only possible in conjunction with |
| <a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_Serializable">Serializable</a> isolation level. In all other cases, |
| optimistic transactions will never fail optimistically and will always be identically ordered on all |
| participating Ignite nodes.</li><li><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html#Apache_Ignite_Core_Transactions_TransactionConcurrency_Pessimistic">Pessimistic</a> - in this mode a lock is |
| acquired on all cache operations with exception of read operations in |
| <a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html#Apache_Ignite_Core_Transactions_TransactionIsolation_ReadCommitted">ReadCommitted</a> mode. All optional filters passed |
| into cache operations will be evaluated after successful lock acquisition. Whenever |
| <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_Commit">Commit()</a> is called, a single one-way <code>COMMIT</code> |
| message is sent to participating cache nodes without waiting for reply. Note that there is no reason |
| for distributed <code>PREPARE</code> step, as all locks have been already acquired. Just like with |
| optimistic mode, it is possible to configure synchronous commit or rollback and wait till |
| transaction commits on all participating remote nodes.</li></ul> |
| <p> |
| In addition to standard <code>CacheAtomicityMode.TRANSACTIONAL</code> behavior, Ignite also supports |
| a lighter <code>CacheAtomicityMode.ATOMIC</code> mode as well. In this mode distributed transactions |
| and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher |
| performance and throughput ratios. It is recommended that <code>CacheAtomicityMode.TRANSACTIONAL</code> mode |
| is used whenever full <code>ACID</code>-compliant transactions are not needed. |
| <example> |
| You can use cache transactions as follows:<p> |
| <pre><code>ICacheTx tx = cache.TxStart(); |
| |
| try |
| { |
| int v1 = cache<string, int>.Get("k1"); |
| |
| // Check if v1 satisfies some condition before doing a put. |
| if (v1 > 0) |
| cache.Put<string, int>("k1", 2); |
| |
| cache.Removex("k2); |
| |
| // Commit the transaction. |
| tx.Commit(); |
| } |
| finally |
| { |
| tx.Dispose(); |
| }</code></pre> |
| <p></example></p> |
| </div> |
| <div class="markdown level0 conceptual"></div> |
| <div class="inheritedMembers"> |
| <h5>Inherited Members</h5> |
| <div> |
| <span class="xref">System.IDisposable.Dispose()</span> |
| </div> |
| </div> |
| <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Transactions.html">Apache.Ignite.Core.Transactions</a></h6> |
| <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6> |
| <h5 id="Apache_Ignite_Core_Transactions_ITransaction_syntax">Syntax</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public interface ITransaction : IDisposable</code></pre> |
| </div> |
| <h3 id="properties">Properties |
| </h3> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Concurrency_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Concurrency*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Concurrency" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Concurrency">Concurrency</h4> |
| <div class="markdown level1 summary"><p>Transaction concurrency mode.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TransactionConcurrency Concurrency { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html">TransactionConcurrency</a></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Isolation_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Isolation*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Isolation" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Isolation">Isolation</h4> |
| <div class="markdown level1 summary"><p>Transaction isolation level.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TransactionIsolation Isolation { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html">TransactionIsolation</a></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_IsRollbackOnly_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.IsRollbackOnly*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_IsRollbackOnly" data-uid="Apache.Ignite.Core.Transactions.ITransaction.IsRollbackOnly">IsRollbackOnly</h4> |
| <div class="markdown level1 summary"><p>Gets a value indicating whether this transaction was marked as rollback-only.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">bool IsRollbackOnly { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Boolean</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Label_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Label*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Label" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Label">Label</h4> |
| <div class="markdown level1 summary"><p>Label of current transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">string Label { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.String</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_NodeId_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.NodeId*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_NodeId" data-uid="Apache.Ignite.Core.Transactions.ITransaction.NodeId">NodeId</h4> |
| <div class="markdown level1 summary"><p>ID of the node on which this transaction started.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">Guid NodeId { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Guid</span></td> |
| <td><p>Originating node ID.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_StartTime_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.StartTime*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_StartTime" data-uid="Apache.Ignite.Core.Transactions.ITransaction.StartTime">StartTime</h4> |
| <div class="markdown level1 summary"><p>Start time of this transaction on this node.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">DateTime StartTime { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.DateTime</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_State_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.State*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_State" data-uid="Apache.Ignite.Core.Transactions.ITransaction.State">State</h4> |
| <div class="markdown level1 summary"><p>Current transaction state.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TransactionState State { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionState.html">TransactionState</a></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_ThreadId_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.ThreadId*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_ThreadId" data-uid="Apache.Ignite.Core.Transactions.ITransaction.ThreadId">ThreadId</h4> |
| <div class="markdown level1 summary"><p>ID of the thread in which this transaction started.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">long ThreadId { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int64</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Timeout_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Timeout*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Timeout" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Timeout">Timeout</h4> |
| <div class="markdown level1 summary"><p>Timeout for this transaction. If transaction times |
| out prior to it's completion, an exception will be thrown. |
| <span class="xref">System.TimeSpan.Zero</span> for infinite timeout.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TimeSpan Timeout { get; }</code></pre> |
| </div> |
| <h5 class="propertyValue">Property Value</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.TimeSpan</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h3 id="methods">Methods |
| </h3> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_AddMeta_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.AddMeta*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_AddMeta__1_System_String___0_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.AddMeta``1(System.String,``0)">AddMeta<TV>(String, TV)</h4> |
| <div class="markdown level1 summary"><p>Adds a new metadata.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">void AddMeta<TV>(string name, TV val)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.String</span></td> |
| <td><span class="parametername">name</span></td> |
| <td><p>Metadata name.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><span class="xref">TV</span></td> |
| <td><span class="parametername">val</span></td> |
| <td><p>Metadata value.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="typeParameters">Type Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="parametername">TV</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Commit_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Commit*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Commit" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Commit">Commit()</h4> |
| <div class="markdown level1 summary"><p>Commits this transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">void Commit()</code></pre> |
| </div> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_CommitAsync_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.CommitAsync*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_CommitAsync" data-uid="Apache.Ignite.Core.Transactions.ITransaction.CommitAsync">CommitAsync()</h4> |
| <div class="markdown level1 summary"><p>Commits this transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">Task CommitAsync()</code></pre> |
| </div> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Threading.Tasks.Task</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Meta_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Meta*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Meta__1_System_String_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Meta``1(System.String)">Meta<TV>(String)</h4> |
| <div class="markdown level1 summary"><p>Gets metadata by name.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TV Meta<TV>(string name)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.String</span></td> |
| <td><span class="parametername">name</span></td> |
| <td><p>Metadata name.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">TV</span></td> |
| <td><p>Metadata value.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="typeParameters">Type Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="parametername">TV</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="exceptions">Exceptions</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Condition</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Collections.Generic.KeyNotFoundException</span></td> |
| <td><p>If metadata key was not found.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_RemoveMeta_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.RemoveMeta*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_RemoveMeta__1_System_String_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.RemoveMeta``1(System.String)">RemoveMeta<TV>(String)</h4> |
| <div class="markdown level1 summary"><p>Removes metadata by name.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">TV RemoveMeta<TV>(string name)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.String</span></td> |
| <td><span class="parametername">name</span></td> |
| <td><p>Metadata name.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">TV</span></td> |
| <td><p>Value of removed metadata or default value for <code>V</code> type.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="typeParameters">Type Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="parametername">TV</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_Rollback_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Rollback*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_Rollback" data-uid="Apache.Ignite.Core.Transactions.ITransaction.Rollback">Rollback()</h4> |
| <div class="markdown level1 summary"><p>Rolls back this transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">void Rollback()</code></pre> |
| </div> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_RollbackAsync_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.RollbackAsync*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_RollbackAsync" data-uid="Apache.Ignite.Core.Transactions.ITransaction.RollbackAsync">RollbackAsync()</h4> |
| <div class="markdown level1 summary"><p>Rolls back this transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">Task RollbackAsync()</code></pre> |
| </div> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Threading.Tasks.Task</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <a id="Apache_Ignite_Core_Transactions_ITransaction_SetRollbackonly_" data-uid="Apache.Ignite.Core.Transactions.ITransaction.SetRollbackonly*"></a> |
| <h4 id="Apache_Ignite_Core_Transactions_ITransaction_SetRollbackonly" data-uid="Apache.Ignite.Core.Transactions.ITransaction.SetRollbackonly">SetRollbackonly()</h4> |
| <div class="markdown level1 summary"><p>Modify the transaction associated with the current thread such that the |
| only possible outcome of the transaction is to roll back the transaction.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">bool SetRollbackonly()</code></pre> |
| </div> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Boolean</span></td> |
| <td><p>True if rollback-only flag was set as a result of this operation, |
| false if it was already set prior to this call or could not be set |
| because transaction is already finishing up committing or rolling back.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </article> |
| </div> |
| |
| <div class="hidden-sm col-md-2" role="complementary"> |
| <div class="sideaffix"> |
| <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix"> |
| <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> --> |
| </nav> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <footer> |
| <div class="grad-bottom"></div> |
| <div class="footer"> |
| <div class="container"> |
| <span class="pull-right"> |
| <a href="#top">Back to top</a> |
| </span> |
| © 2015 - 2019 The Apache Software Foundation |
| |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <script type="text/javascript" src="../styles/docfx.vendor.js"></script> |
| <script type="text/javascript" src="../styles/docfx.js"></script> |
| <script type="text/javascript" src="../styles/main.js"></script> |
| </body> |
| </html> |