为什么ServiceStack的SaveUserAuth没有保存到数据库?

时间:2013-10-28 02:02:46

标签: asp.net-mvc-3 mongodb servicestack servicestack-bsd

我试图让用户能够更改恰好位于IAuthSession界面中的显示名称并将更改提交到数据库。

我通过AppHost注册容器:

container.Register<IUserAuthRepository>(new MongoDBAuthRepository(new MongoDBClient().MongoDB, true)); 

然后在我的服务中,我执行以下操作:

public class HandlerService : Service
{
    public HandlerService(IUserAuthRepository userAuthRepository)
    {
        this._userAuthRepository = userAuthRepository;
    }

    private readonly IUserAuthRepository _userAuthRepository;

    public void SaveDisplayName(string displayName) {
        var session = base.SessionAs<CustomUserSession>(); // CustomUserSession inherits AuthUserSession
        if (!session.DisplayName.EqualsIgnoreCase(displayName))
        {
            session.DisplayName = displayName;
            _userAuthRepository.SaveUserAuth(session);
        }
    }
}

虽然代码命中_userAuthRepository.SaveUserAuth,但不会引发异常,因为方法无效,所以不会返回任何内容。但是,数据实际上并未提交到数据库。在这个特殊情况下MongoDB。

任何想法为什么不保存它或为什么没有例外被抛出?

0 个答案:

没有答案