blob: 755ba345070858e400149ad2d809a52ef08a0469 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Namespace Apache.Ignite.Core.Client.Transactions
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Namespace Apache.Ignite.Core.Client.Transactions
| Apache Ignite.NET ">
<meta name="generator" content="docfx 2.58.4.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="../">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<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">Search Results for <span></span></div>
<div class="sr-items">
<p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
</div>
<ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></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.Client.Transactions">
<h1 id="Apache_Ignite_Core_Client_Transactions" data-uid="Apache.Ignite.Core.Client.Transactions" class="text-break">Namespace Apache.Ignite.Core.Client.Transactions
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>
<div class="markdown level0 remarks"></div>
<h3 id="classes">Classes
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Client.Transactions.TransactionClientConfiguration.html">TransactionClientConfiguration</a></h4>
<section><p>Thin client transactions configuration.
Default values specified here will be used by <a class="xref" href="Apache.Ignite.Core.Client.Transactions.ITransactionsClient.html#Apache_Ignite_Core_Client_Transactions_ITransactionsClient_TxStart">TxStart()</a>.</p>
</section>
<h3 id="interfaces">Interfaces
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Client.Transactions.ITransactionClient.html">ITransactionClient</a></h4>
<section><p>Thin client transaction.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Client.Transactions.ITransactionsClient.html">ITransactionsClient</a></h4>
<section><p>Ignite Thin Client transactions facade.
<p>
Transactions are bound to the thread started the transaction. After that, each cache operation within this thread
will belong to the corresponding transaction until the transaction is committed, rolled back or closed.
<p>
Should not be used with async calls.
<example>
You can use cache transactions as follows:<p>
<pre><code>using (var tx = igniteClient.GetTransactions().TxStart())
{
int v1 = cache&lt;string, int>.Get(&quot;k1&quot;);
// Check if v1 satisfies some condition before doing a put.
if (v1 > 0)
cache.Put&lt;string, int>(&quot;k1&quot;, 2);
cache.Remove(&quot;k2&quot;);
// Commit the transaction.
tx.Commit();
}</code></pre>
<p></example></p>
<p>Alternatively, <see cref="!:TransactionScope"></see> can be used to start Ignite transactions.
<example><p>
<pre><code>using (var ts = new TransactionScope())
{
int v1 = cache&lt;string, int>.Get(&quot;k1&quot;);
// Check if v1 satisfies some condition before doing a put.
if (v1 > 0)
cache.Put&lt;string, int>(&quot;k1&quot;, 2);
cache.Remove(&quot;k2&quot;);
// Commit the transaction.
ts.Complete();
}</code></pre>
<p></example></p>
</section>
</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">
<h5>In This Article</h5>
<div></div>
</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>