﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.1/dotnetdoc/api/Apache.Ignite.Core.Transactions.ITransactions.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Yandex.Metrika counter -->
    <script type="text/javascript" >
      (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
      ym(72949126, "init", {
           clickmap:true,
           trackLinks:true,
           accurateTrackBounce:true,
           webvisor:true
      });
    </script>
    <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->
<script type='text/javascript'>
    window.__lo_site_id = 284467;
    
      (function() {
        var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
        })();
      </script>


    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ITransactions
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ITransactions
   | 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.ITransactions">
  
  
  <h1 id="Apache_Ignite_Core_Transactions_ITransactions" data-uid="Apache.Ignite.Core.Transactions.ITransactions" class="text-break">Interface ITransactions
  </h1>
  <div class="markdown level0 summary"><p>Transactions facade.
<p>
All members are thread-safe and may be used concurrently from multiple threads.</p>
</div>
  <div class="markdown level0 conceptual"></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_ITransactions_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ITransactions</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTimeout_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTimeout*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTimeout" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTimeout">DefaultTimeout</h4>
  <div class="markdown level1 summary"><p>Gets the default transaction timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TimeSpan DefaultTimeout { 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>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTimeoutOnPartitionMapExchange_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTimeoutOnPartitionMapExchange*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTimeoutOnPartitionMapExchange" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTimeoutOnPartitionMapExchange">DefaultTimeoutOnPartitionMapExchange</h4>
  <div class="markdown level1 summary"><p>Gets the default transaction timeout on partition map exchange.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TimeSpan DefaultTimeoutOnPartitionMapExchange { 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>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTransactionConcurrency_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTransactionConcurrency*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTransactionConcurrency" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTransactionConcurrency">DefaultTransactionConcurrency</h4>
  <div class="markdown level1 summary"><p>Gets the default transaction concurrency.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TransactionConcurrency DefaultTransactionConcurrency { 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_ITransactions_DefaultTransactionIsolation_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTransactionIsolation*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_DefaultTransactionIsolation" data-uid="Apache.Ignite.Core.Transactions.ITransactions.DefaultTransactionIsolation">DefaultTransactionIsolation</h4>
  <div class="markdown level1 summary"><p>Gets the default transaction isolation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TransactionIsolation DefaultTransactionIsolation { 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_ITransactions_Tx_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.Tx*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_Tx" data-uid="Apache.Ignite.Core.Transactions.ITransactions.Tx">Tx</h4>
  <div class="markdown level1 summary"><p>Gets transaction started by this thread or null if this thread does not have a transaction.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransaction Tx { 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.ITransaction.html">ITransaction</a></td>
        <td><p>Transaction started by this thread or null if this thread does not have a transaction.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_GetLocalActiveTransactions_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.GetLocalActiveTransactions*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_GetLocalActiveTransactions" data-uid="Apache.Ignite.Core.Transactions.ITransactions.GetLocalActiveTransactions">GetLocalActiveTransactions()</h4>
  <div class="markdown level1 summary"><p>Returns a list of active transactions initiated by this node.
<p>
Returned transactions do not support next operations:
<ul><li><a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_Commit">Commit()</a>.</li><li><a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_CommitAsync">CommitAsync()</a>.</li><li>Get <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_ThreadId">ThreadId</a>.</li><li>Get <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_StartTime">StartTime</a>.</li><li>Get <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_Meta__1_System_String_">Meta&lt;TV&gt;(String)</a>.</li><li>Get <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_AddMeta__1_System_String___0_">AddMeta&lt;TV&gt;(String, TV)</a>.</li><li>Get <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html#Apache_Ignite_Core_Transactions_ITransaction_RemoveMeta__1_System_String_">RemoveMeta&lt;TV&gt;(String)</a>.</li></ul></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransactionCollection GetLocalActiveTransactions()</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactionCollection.html">ITransactionCollection</a></td>
        <td><p>Collection of <a class="xref" href="Apache.Ignite.Core.Transactions.ITransactionCollection.html">ITransactionCollection</a></p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_GetMetrics_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.GetMetrics*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_GetMetrics" data-uid="Apache.Ignite.Core.Transactions.ITransactions.GetMetrics">GetMetrics()</h4>
  <div class="markdown level1 summary"><p>Gets the metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransactionMetrics GetMetrics()</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactionMetrics.html">ITransactionMetrics</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_ResetMetrics_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.ResetMetrics*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_ResetMetrics" data-uid="Apache.Ignite.Core.Transactions.ITransactions.ResetMetrics">ResetMetrics()</h4>
  <div class="markdown level1 summary"><p>Resets the metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void ResetMetrics()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_TxStart_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_TxStart" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart">TxStart()</h4>
  <div class="markdown level1 summary"><p>Starts a transaction with default isolation (<a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html#Apache_Ignite_Core_Transactions_ITransactions_DefaultTransactionIsolation">DefaultTransactionIsolation</a>, 
concurrency (<a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html#Apache_Ignite_Core_Transactions_ITransactions_DefaultTransactionConcurrency">DefaultTransactionConcurrency</a>), timeout (<a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html#Apache_Ignite_Core_Transactions_ITransactions_DefaultTimeout">DefaultTimeout</a>), 
and invalidation policy.
All defaults are set in CacheConfiguration at startup.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransaction TxStart()</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html">ITransaction</a></td>
        <td><p>New transaction.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_TxStart_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_TxStart_Apache_Ignite_Core_Transactions_TransactionConcurrency_Apache_Ignite_Core_Transactions_TransactionIsolation_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart(Apache.Ignite.Core.Transactions.TransactionConcurrency,Apache.Ignite.Core.Transactions.TransactionIsolation)">TxStart(TransactionConcurrency, TransactionIsolation)</h4>
  <div class="markdown level1 summary"><p>Starts new transaction with the specified concurrency and isolation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransaction TxStart(TransactionConcurrency concurrency, TransactionIsolation isolation)</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><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html">TransactionConcurrency</a></td>
        <td><span class="parametername">concurrency</span></td>
        <td><p>Concurrency.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html">TransactionIsolation</a></td>
        <td><span class="parametername">isolation</span></td>
        <td><p>Isolation.</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html">ITransaction</a></td>
        <td><p>New transaction.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_TxStart_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_TxStart_Apache_Ignite_Core_Transactions_TransactionConcurrency_Apache_Ignite_Core_Transactions_TransactionIsolation_System_TimeSpan_System_Int32_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.TxStart(Apache.Ignite.Core.Transactions.TransactionConcurrency,Apache.Ignite.Core.Transactions.TransactionIsolation,System.TimeSpan,System.Int32)">TxStart(TransactionConcurrency, TransactionIsolation, TimeSpan, Int32)</h4>
  <div class="markdown level1 summary"><p>Starts new transaction with the specified concurrency and isolation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransaction TxStart(TransactionConcurrency concurrency, TransactionIsolation isolation, TimeSpan timeout, int txSize)</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><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConcurrency.html">TransactionConcurrency</a></td>
        <td><span class="parametername">concurrency</span></td>
        <td><p>Concurrency.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionIsolation.html">TransactionIsolation</a></td>
        <td><span class="parametername">isolation</span></td>
        <td><p>Isolation.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td><span class="parametername">timeout</span></td>
        <td><p>Timeout. TimeSpan.Zero for indefinite timeout.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">txSize</span></td>
        <td><p>Number of entries participating in transaction (may be approximate).</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html">ITransaction</a></td>
        <td><p>New transaction.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_WithLabel_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.WithLabel*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_WithLabel_System_String_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.WithLabel(System.String)">WithLabel(String)</h4>
  <div class="markdown level1 summary"><p>Returns instance of Ignite Transactions to mark a transaction with a special label.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransactions WithLabel(string label)</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">label</span></td>
        <td></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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html">ITransactions</a></td>
        <td><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html">ITransactions</a></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Transactions_ITransactions_WithTracing_" data-uid="Apache.Ignite.Core.Transactions.ITransactions.WithTracing*"></a>
  <h4 id="Apache_Ignite_Core_Transactions_ITransactions_WithTracing" data-uid="Apache.Ignite.Core.Transactions.ITransactions.WithTracing">WithTracing()</h4>
  <div class="markdown level1 summary"><p>Returns instance of Ignite Transactions to enable tracing for a transaction.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ITransactions WithTracing()</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><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html">ITransactions</a></td>
        <td><a class="xref" href="Apache.Ignite.Core.Transactions.ITransactions.html">ITransactions</a></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>
