我试图让用户能够更改恰好位于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。
任何想法为什么不保存它或为什么没有例外被抛出?