我正在阅读Rob Ashton关于RavenDB的优秀博客文章: http://codeofrob.com/archive/2010/05/09/ravendb-an-introduction.aspx
我在阅读时正在处理代码。但是当我尝试添加索引时,我收到401错误。这是代码:
class Program
{
static void Main(string[] args)
{
using (var documentStore = new DocumentStore() { Url = "http://localhost:8080" })
{
documentStore.Initialise();
documentStore.DatabaseCommands.PutIndex(
"BasicEntityBySomeData",
new IndexDefinition<BasicEntity, BasicEntity>()
{
Map = docs => from doc in docs
where doc.SomeData != null
select new
{
SomeData = doc.SomeData
},
});
string entityId;
using (var documentSession = documentStore.OpenSession())
{
var entity = new BasicEntity()
{
SomeData = "Hello, World!",
SomeOtherData = "This is just another property",
};
documentSession.Store(entity);
documentSession.SaveChanges();
entityId = entity.Id;
var loadedEntity = documentSession.Load<BasicEntity>(entityId);
Console.WriteLine(loadedEntity.SomeData);
var docs = documentSession.Query<BasicEntity>("BasicEntityBySomeData")
.Where("SomeData:Hello~")
.WaitForNonStaleResults()
.ToArray();
docs.ToList().ForEach(doc => Console.WriteLine(doc.SomeData));
Console.Read();
}
}
}
在进行PutIndex()调用的行上抛出401错误。任何想法我需要申请哪些权限?我需要在哪里应用它们?
答案 0 :(得分:1)
服务器模式是什么意思?你的意思是简单地执行Raven.Server吗?
我没有必要做任何特殊的客户端来让它工作,虽然我不得不以提升的权限运行Raven.Server因为我不确定要求相关权限的代码是否正常工作意。 (实际上,我会在邮件列表上提出一个查询)
除非您更改了Raven.Server的配置,否则不应该收到401错误。
如果您正在运行服务器,则可以使用配置中指定的URL(默认情况下为localhost:8080)直接浏览到该服务器 - 在继续进行故障排除之前,确保它实际运行并按预期工作