2010-05-13 59 views
1

我通過羅伯頓的優秀博客文章閱讀RavenDB: http://codeofrob.com/archive/2010/05/09/ravendb-an-introduction.aspx我需要授予什麼權限才能在服務器模式下運行RavenDB?

,我通過代碼的工作,因爲我讀。但是,當我嘗試添加索引時,出現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錯誤。任何想法我需要申請什麼權限?我需要在哪裏應用它們?

回答

1

服務器模式是什麼意思?你的意思是簡單地執行Raven.Server?

我不需要做任何特殊的客戶端來完成這項工作,儘管我不得不使用提升的特權運行Raven.Server,因爲我不確定要求相關權限的代碼是否工作正常如預期。 (實際上,我會在郵件列表中提出有關該問題的疑問)

除非您更改了Raven.Server的配置,否則您不應該收到401錯誤。

如果您正在運行的服務器,你可以瀏覽它直接使用配置中指定的URL(本地主機:默認爲8080) - 確保它的實際運行狀態及工作與故障排除

+0

我覺得繼續之前預期我應該在這裏添加一個免責聲明,雖然我一直在撰寫有關該主題的博客文章,但我不是* RavenDB應該如何操作或功能的專家 - 並且只知道我在使用它的過程中發現的內容到目前爲止 - 這可能比大多數人更多,因爲迄今爲止我使用它的人比大多數人都多,但不足以說,寫這個的人(奧倫) – 2010-05-13 20:26:46

+1

嗨,羅布,謝謝你的回答,以及真正詳細的博客文章 - 好東西!我有一個總共1小時的RavenDB經驗,所以你比我更專業。 目前,我通過將Raven/AnonymousAccess鍵設置爲「All」來讓自己啓動並運行。我相信這不是一個長期的解決方案,但足以讓我度過這個坎坷,所以我可以做一些實驗。 – dalesmithtx 2010-05-13 22:43:44

+0

這應該是Raven.Server中的默認設置 - 道歉沒有明確提及它 – 2010-05-13 22:48:53

相關問題