Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

NHibernate Best Practices with ASP.NET, 1.2nd Ed.

, 11 Jun 2008 CPOL
This article describes best practices for leveraging the benefits of NHibernate 1.2, ASP.NET, generics and unit testing together.
basicsample.zip
BasicSample
BasicSample.Core
DataInterfaces
Domain
Properties
Utils
BasicSample.Data
Properties
BasicSample.resharper
BasicSample.resharper.user
BasicSample.Tests
Data
DaoTestDoubles
Domain
Properties
TestFactories
Web
BasicSample.Web
App_Code
Bin
BasicSample.Core.dll
BasicSample.Core.pdb
BasicSample.Data.dll
BasicSample.Data.pdb
Iesi.Collections.dll
log4net.dll
log4net.dll.refresh
NHibernate.dll
NHibernate.dll.refresh
Solution Items
Iesi.Collections.dll
log4net.dll
NHibernate.dll
nunit.framework.dll
NUnitAsp.dll
Rhino.Mocks.dll
enterprisesample.zip
EnterpriseSample
EnterpriseSample.Core
DataInterfaces
Domain
Dto
EnterpriseSample.Core.csproj.user
Properties
EnterpriseSample.Data
Properties
EnterpriseSample.Presenters
Properties
ViewInterfaces
EnterpriseSample.resharper
EnterpriseSample.resharper.user
EnterpriseSample.Tests
Data
DaoTestDoubles
Domain
Dto
Presenters
Properties
TestFactories
Web
EnterpriseSample.Web
App_Code
PageControllers
Bin
Castle.DynamicProxy.dll
Castle.MicroKernel.dll
Castle.Model.dll
Castle.Windsor.dll
Castle.Windsor.dll.refresh
EnterpriseSample.Core.dll
EnterpriseSample.Core.pdb
EnterpriseSample.Data.dll
EnterpriseSample.Data.pdb
EnterpriseSample.Presenters.dll
EnterpriseSample.Presenters.pdb
Iesi.Collections.dll
log4net.dll
log4net.dll.refresh
NHibernate.dll
NHibernate.dll.refresh
ProjectBase.Data.dll
ProjectBase.Data.pdb
ProjectBase.Utils.dll
ProjectBase.Utils.pdb
Config
EnterpriseSample.log
Global.asax
Views
ProjectBase.Data
NHibernateSessionMgmt
Properties
ProjectBase.Utils
Properties
Web
Solution Items
Castle.Core.dll
Castle.DynamicProxy.dll
Castle.Facilities.AutomaticTransactionManagement.dll
Castle.MicroKernel.dll
Castle.Model.dll
Castle.Services.Transaction.dll
Castle.Windsor.dll
Iesi.Collections.dll
log4net.dll
NHibernate.dll
nunit.framework.dll
NUnitAsp.dll
Rhino.Mocks.dll
nhibernatebestpractices_src.zip
NHibernateSample
NHibernateSample.Core
bin
DataInterfaces
Domain
Properties
NHibernateSample.Data
bin
Properties
NHibernateSample.Tests
bin
Data
Domain
MockDao
Properties
NHibernateSample.Web
App_Code
Bin
Castle.DynamicProxy.dll
Iesi.Collections.dll
Iesi.Collections.dll.refresh
log4net.dll
log4net.dll.refresh
NHibernate.dll
NHibernate.Generics.dll
NHibernateSample.Core.dll
NHibernateSample.Data.dll
Solution Items
Iesi.Collections.dll
log4net.dll
NHibernate.dll
NHibernate.Generics.dll
nunit.framework.dll
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Castle.Services.Transaction</name>
    </assembly>
    <members>
        <member name="T:Castle.Services.Transaction.AbstractTransaction">
            <summary>
            Helper abstract class for <see cref="T:Castle.Services.Transaction.ITransaction"/> implementors. 
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.ITransaction">
            <summary>
            Represents the contract for a transaction.
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ITransaction.Begin">
            <summary>
            Starts the transaction. Implementors
            should activate the apropriate resources
            in order to start the underlying transaction
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ITransaction.Commit">
            <summary>
            Succeed the transaction, persisting the
            modifications
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ITransaction.Rollback">
            <summary>
            Cancels the transaction, rolling back the 
            modifications
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ITransaction.Enlist(Castle.Services.Transaction.IResource)">
            <summary>
            Register a participant on the transaction.
            </summary>
            <param name="resource"></param>
        </member>
        <member name="M:Castle.Services.Transaction.ITransaction.RegisterSynchronization(Castle.Services.Transaction.ISynchronization)">
            <summary>
            Registers a synchronization object that will be 
            invoked prior and after the transaction completion
            (commit or rollback)
            </summary>
            <param name="synchronization"></param>
        </member>
        <member name="P:Castle.Services.Transaction.ITransaction.Status">
            <summary>
            Returns the current transaction status.
            </summary>
        </member>
        <member name="P:Castle.Services.Transaction.ITransaction.Context">
            <summary>
            Transaction context. Can be used by applications.
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.TransactionMode">
            <summary>
            The supported transaction mode for the components.
            </summary>
        </member>
        <member name="F:Castle.Services.Transaction.TransactionMode.Unspecified">
            <summary>
            
            </summary>
        </member>
        <member name="F:Castle.Services.Transaction.TransactionMode.NotSupported">
            <summary>
            transaction context will be created 
            managing internally a connection, no 
            transaction is opened though
            </summary>
        </member>
        <member name="F:Castle.Services.Transaction.TransactionMode.Requires">
            <summary>
            transaction context will be created if not present 
            </summary>
        </member>
        <member name="F:Castle.Services.Transaction.TransactionMode.RequiresNew">
            <summary>
            a new transaction context will be created 
            </summary>
        </member>
        <member name="F:Castle.Services.Transaction.TransactionMode.Supported">
            <summary>
            an existing appropriate transaction context 
            will be joined if present
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.IsolationMode">
            <summary>
            The supported isolation modes.
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.TransactionalAttribute">
            <summary>
            Indicates that the target class wants to use
            the transactional services.
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.TransactionAttribute">
            <summary>
            Indicates the transaction support for a method.
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.TransactionAttribute.#ctor">
            <summary>
            Declares unspecified values for transaction and isolation, which
            means that the transaction manager will use the default values
            for them
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.TransactionAttribute.#ctor(Castle.Services.Transaction.TransactionMode)">
            <summary>
            Declares the transaction mode, but omits the isolation, 
            which means that the transaction manager should use the
            default value for it.
            </summary>
            <param name="transactionMode"></param>
        </member>
        <member name="M:Castle.Services.Transaction.TransactionAttribute.#ctor(Castle.Services.Transaction.TransactionMode,Castle.Services.Transaction.IsolationMode)">
            <summary>
            Declares both the transaction mode and isolation 
            desired for this method. The transaction manager should
            obey the declaration.
            </summary>
            <param name="transactionMode"></param>
            <param name="isolationMode"></param>
        </member>
        <member name="P:Castle.Services.Transaction.TransactionAttribute.TransactionMode">
            <summary>
            Returns the <see cref="P:Castle.Services.Transaction.TransactionAttribute.TransactionMode"/>
            </summary>
        </member>
        <member name="P:Castle.Services.Transaction.TransactionAttribute.IsolationMode">
            <summary>
            Returns the <see cref="P:Castle.Services.Transaction.TransactionAttribute.IsolationMode"/>
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.DefaultTransactionManager">
            <summary>
            TODO: Ensure this class is thread-safe
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.ITransactionManager">
            <summary>
            Manages the creation and disposal of <see cref="T:Castle.Services.Transaction.ITransaction"/> instances.
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ITransactionManager.CreateTransaction(Castle.Services.Transaction.TransactionMode,Castle.Services.Transaction.IsolationMode)">
            <summary>
            More information here.
            Can return null!
            </summary>
            <param name="transactionMode"></param>
            <param name="isolationMode"></param>
            <returns></returns>
        </member>
        <member name="M:Castle.Services.Transaction.ITransactionManager.Dispose(Castle.Services.Transaction.ITransaction)">
            <summary>
            Should guarantee the correct disposal of transaction
            resources.
            </summary>
            <param name="transaction"></param>
        </member>
        <member name="E:Castle.Services.Transaction.ITransactionManager.TransactionCreated">
            <summary>
            Raised when a top level transaction was created
            </summary>
        </member>
        <member name="E:Castle.Services.Transaction.ITransactionManager.ChildTransactionCreated">
            <summary>
            Raised when a child transaction was created
            </summary>
        </member>
        <member name="E:Castle.Services.Transaction.ITransactionManager.TransactionCommitted">
            <summary>
            Raised when the transaction was committed successfully
            </summary>
        </member>
        <member name="E:Castle.Services.Transaction.ITransactionManager.TransactionRolledback">
            <summary>
            Raised when the transaction was rolledback successfully
            </summary>
        </member>
        <member name="E:Castle.Services.Transaction.ITransactionManager.TransactionDisposed">
            <summary>
            Raised when the transaction was disposed
            </summary>
        </member>
        <member name="P:Castle.Services.Transaction.ITransactionManager.CurrentTransaction">
            <summary>
            Returns the current <see cref="T:Castle.Services.Transaction.ITransaction"/>. 
            The transaction manager will probably need to 
            hold the created transaction in the thread or in 
            some sort of context.
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.IResource">
            <summary>
            Represents a contract for a resource that 
            can be enlisted within transactions.
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.IResource.Start">
            <summary>
            Implementors should start the
            transaction on the underlying resource
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.IResource.Commit">
            <summary>
            Implementors should commit the
            transaction on the underlying resource
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.IResource.Rollback">
            <summary>
            Implementors should rollback the
            transaction on the underlying resource
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.ISynchronization">
            <summary>
            Depicts a synchronization contract.
            <para>
            Code can be executed before and after the 
            transaction completes
            </para>
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ISynchronization.BeforeCompletion">
            <summary>
            Implementors may have code executing
            just before the transaction completes
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.ISynchronization.AfterCompletion">
            <summary>
            Implementors may have code executing
            just after the transaction completes
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.TransactionStatus">
            <summary>
            
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.StandardTransaction">
            <summary>
            Implements a transaction root.
            </summary>
        </member>
        <member name="M:Castle.Services.Transaction.StandardTransaction.ChildTransactionRolledBack">
            <summary>
            Invoked by child transactions, meaning that 
            some sort of error has occured, so 
            </summary>
        </member>
        <member name="T:Castle.Services.Transaction.ChildTransaction">
            <summary>
            Emulates a standalone transaction but in fact it 
            just propages a transaction. 
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Billy McCafferty
Web Developer
United States United States
No Biography provided

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150327.1 | Last Updated 11 Jun 2008
Article Copyright 2006 by Billy McCafferty
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid