using System;namespace BLL.IMPL.User
using System.Linq;
using BLL.Base;
using BLL.Interface.User;
using Castle.ActiveRecord;
using Castle.ActiveRecord.Framework;
using Castle.Services.Transaction;
using DAL.Model.User;
{
[Transactional]
public class UserInfoManagerIMPL : InitializingCastle, IUserInfoManager
{
[Transaction(Castle.Services.Transaction.TransactionMode.Requires)]
public virtual bool AddUserInfo(UserInfo user)
{
ActiveRecordMediator<UserInfo>.Create(user);
throw new Exception("sadfasf");
}
}
为什么这里抛出异常后不能自动回滚
遇到相同问题,有解决方案吗??
我的问题是当时这个对象 UserInfoManagerIMPL 不是从 windsor 的容器中取出来的,当时没有彻底理解 IOC,只有当这个对象是由容器管理的时候,这些类特性(attribute)才会有作用,类似拦截器的意思。
具体看一下windsor的拦截器(interceptor)的使用就会了