Добрый день. Пожалуйста помогите разобраться 2 полных дня топчусь на месте. Есть веб проект при помощи Spring в web.config создаю SessionFactory

<object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate32">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="MappingAssemblies">
      <list>
        <value>MyProjectSecurity</value>
        <value>MyProjectCore</value>
      </list>
    </property>
    <property name="HibernateProperties">
      <dictionary>
        <entry key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
        <entry key="dialect" value="NHibernate.Dialect.MsSql2008Dialect"/>
        <entry key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
      </dictionary>
    </property>
  </object>

Именно этот объект я передаю aspx страницам они в свою очередь вызывают методы из других моих неймспесов передавая им СешинФектори.

<object type="Default.aspx">
        <property name="SecuritySessionFactory" ref="SessionFactory"/>
      </object>

Default.aspx

private IUserController _userController;
public NHibernate.ISessionFactory SecuritySessionFactory;
protected void LoginButton_Click(object sender, System.EventArgs e)
    {
        _userController = new UserController(SecuritySessionFactory);
        _userController.AutenticateUser(UsernameTextBox.Text, PasswordTextBox.Text);
            if (_userController.IsUserValid())
            {
    ...

UserController создает экземпляр DAO класса и читает его из базы private IUserDAO _userDAO; public UserController(ISessionFactory sessionFactory) { _userDAO = new UserDAO(); _userDAO.SessionFactory = sessionFactory; } public void AutenticateUser(string userName, string password) { User user; string userPassword = null; string roles=null; user = _userDAO.LoadByID(userName); ...

UserDAO наследуется от абстрактного BaseDAO public class UserDAO : BaseDAO

Robespier

Большая часть текста не поместилась :( В BaseDAO есть метод записи и при вызове его у наследника происходит ошибка: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition