1

我正在阅读 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 错误。任何想法我需要申请什么权限?我需要在哪里应用它们?

4

1 回答 1

1

服务器模式是什么意思?你的意思是简单地执行 Raven.Server 吗?

我不需要做任何特殊的客户端来让它工作,尽管我不得不以提升的权限运行 Raven.Server,因为我不确定请求相关权限的代码是否能按预期工作。(实际上,我会在邮件列表中提出一个问题)

除非您更改了 Raven.Server 的配置,否则您不应该收到 401 错误。

如果您正在运行服务器,则可以使用配置中指定的 url 直接浏览到它(默认为 localhost:8080) - 在继续进行故障排除之前,请确保它实际运行并按预期工作

于 2010-05-13T20:22:41.577 回答