我正在构建基于UnitOfWorkApplication的ASP.Net MVC应用程序,我想使用Castle ATM设施。目前,我在请求结束时刷新会话时遇到问题。我的服务类(在我的控制器操作方法中调用)如下所示:
[Transactional]
public class UserAdminService : IUserAdminService
{
[Transaction(TransactionMode.Requires)]
public User CreateNewUser(string username, string password, string firstName, string lastName)
{
var u = new User(username)
{
PasswordHash = GetPasswordHash(password),
FirstName = firstName,
LastName = lastName
};
userRepo.Save(u);
//UnitOfWork.CurrentSession.Flush();
return u;
}当我取消对"UnitOfWork.CurrentSession.Flush();“行的注释时,一切正常-新用户被持久化在DB中。但是,如果我不显式地刷新会话,什么都不会持久。
UnitOfWorkApplication +自动柜员机应该在请求结束时刷新更改-是这样吗?有没有人有什么建议,在不显式调用session.Flush()的情况下,我应该怎么做才能让它工作?
发布于 2009-03-26 11:31:17
我只是注册了RhinoTransactionFacility,而不是原来的Castle ATM设施+ DefaultTransactionManager,一切都开始工作了。
https://stackoverflow.com/questions/685218
复制相似问题