Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Transactions, AutoTx and IO projects

C# Ruby F#

This branch is 7 commits behind castleproject:master

Failed to load latest commit information.
.nuget rakefile: drop NLog dependency from nuspec
tools updating nuget
AutoTest.config more tests are passing. redefined what exception is thrown from local…
Castle.Transactions.sln.DotSettings updated year in header
Castle.Transactions.sln.DotSettings.user updated year in header
Gemfile testing a bit with builds with semver
License.txt overhaul of file API started. looking to integrate with other OSS fil…
rakefile.rb Release 3.1.206 - removing final refs to .IO package from castle.tran…

Documentation on Wiki!


Castle Transactions

A project for transaction management on .Net and mono.

Quick Start

You have a few major options. The first option is to install the Windsor integration:

install-package Castle.Facilities.AutoTx,

  • -> Castle.Facilities.AutoTx
  • -> Castle.Transactions.IO
  • -> Castle.Transactions
  • -> Castle.Core

another option is if you're using Autofac:

install-package Castle.Transactions.Autofac

  • -> Autofac ~> 2.5
  • -> Castle.Transactions.Autofac
  • -> Castle.Transactions.IO
  • -> Castle.Transactions
  • -> Castle.Core

another option is that you only care about the transactions API as a stand-alone:

install-package Castle.Transactions -> Castle.Core

another option is that you care about the transactions API + transactional NTFS:

install-package Castle.Transactions.IO

  • -> Castle.Transactions
  • -> Castle.IO
  • -> Castle.Core

Castle Transactions

The original project that manages transactions.

Main Features

  • Regular Transactions (+System.Transactions interop) - allows you to create transactions with a nice API
  • Dependent Transactions - allows you to fork dependent transactions automatically by declarative programming: [Transaction(Fork=true)]
  • Transaction Logging - A trace listener in namespace Castle.Transactions.Logging, named TraceListener.
  • Retry policies for transactions

Main Interfaces

  • ITransactionManager:
    • default implementation is TransactionManager
    • keeps tabs on what transaction is currently active
    • coordinates parallel dependent transactions
    • keep the light weight transaction manager (LTM) happy on the CLR

Castle Transactions IO

A project for adding a transactional file system to the mix!

Main Features

  • Provides an Castle.IO.IFileSystem implementation that adds transactionality to common operations.


See also the Castle.IO project.

Something went wrong with that request. Please try again.