Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Transactions, AutoTx and IO projects

C# Ruby

This branch is 7 commits behind castleproject:master

Failed to load latest commit information.
buildscripts updating project data
src Release v3.2 - targeting Windsor 3.1
tools updating nuget
.gitignore ignore packages/
AutoTest.config more tests are passing. redefined what exception is thrown from local…
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…
ideas.txt dabbling a bit with the interfaces
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.