ImageGear .NET - Updated
Using a Non-Transactional Resource
User Guide > How to Work with... > Common Operations > Viewing > Viewing Using ASP.NET > [Legacy] ASP.NET Web.Config Editor Application > Use the Web Configuration Categories Screen > Configuring & Working with Data Providers > Image Data Providers > Implementing Annotations in an Image Data Provider > Enabling Annotation within a Custom Image Data Provider > Background Information on Transactions > Using a Non-Transactional Resource

If your custom provider is based on a non-transactional system, then your code has to detect the ambient TransactionScope and handle the read and write requests from within the TransactionScope.

Microsoft introduced Transactional NTFS (abbreviated TxF) in Vista (For details refer to: https://docs.microsoft.com/en-us/windows/desktop/FileIO/transactional-ntfs-portal). The Transactional NTFS brings the concept of atomic transactions to the NTFS file system, and can be used to support the handling of read and write requests from within the TransactionScope.

Prior Operating Systems, like Windows Server 2003, do not have support for TxF and it is not included in the .NET Framework (through version 4.0). This means that when using older operating systems, custom image data providers that store annotations in files must either manage the file resources without the assistance of TxF or access the TxF unmanaged API via InteropServices.