我在 localhost:8080 上设置了一个 RavenDB 服务实例,并且正在使用 OAuth 插件来存储一个简单的用户文档以进行身份验证。我使用 guid 作为 id 和用户电子邮件作为名称。以下代码正常运行以存储用户
public AccountUserDocument CreateUser(RegisterModel model)
{
using (IDocumentSession session = DataDocumentStore.Instance.OpenSession())
{
Guid userId = Guid.NewGuid();
session.Store(new AccountUserDocument
{
Name = model.Email,
Id = String.Format("Raven/Users/{0}", userId),
AllowedDatabases = new[] { "*" },
Email = model.Email,
FirstName = model.FirstName,
LastName = model.LastName,
FacebookId = 0,
Expires = DateTime.Now.AddMonths(1),
AccessToken = string.Empty
}.SetPassword(model.Password));
session.SaveChanges();
return session.Load<AccountUserDocument>
(String.Format("Raven/Users/{0}", userId));
}
}
并返回一个有效的用户对象。但是,当我打电话时
return session.Query<AccountUserDocument>()
.Customize(x => x.WaitForNonStaleResults())
.Where(x => x.Name == email)
.SingleOrDefault();
我什么都得不到。一周前它一直在工作,但现在它没有了。如果我打开 RavenDB 工作室,我可以看到用户和名称正是我输入的方式(我什至将其复制并粘贴到文本字段中)。
我曾尝试停止并重新启动服务,希望能解决问题,但没有。
我想知道是否有人可以指出我如何调试这里发生的事情的方向。完整的代码存储库可以在这里找到
https://github.com/jamesamuir/MVC_Facebook_Auth
如果有人愿意下载它。
提前致谢。