2012-06-17 65 views
2

嘗試:無法訪問RavenDB Management Studio中

  1. 我在VS2012中創建一個新的項目
  2. 我通過RavenDB Embedded -Pre
  3. 我安裝Ninject.MVC3
  4. 增加對ninject RavenDB模塊的NuGet包裝:

    Public class RavenDBNinjectModule : NinjectModule 
    { 
        public override void Load() 
        { 
        Bind<IDocumentStore>().ToMethod(context => 
        { 
         NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(8080); 
         var documentStore = new EmbeddableDocumentStore { Url="http://localhost:8080/", DataDirectory="~/App_Data", UseEmbeddedHttpServer = true }; 
         return documentStore.Initialize(); 
        }).InSingletonScope(); 
    
        Bind<IDocumentSession>().ToMethod(context => context.Kernel.Get<IDocumentStore>().OpenSession()).InRequestScope(); 
        } 
    } 
    
  5. 在我的課 「NinjectWebCommon」 ......

    private static void RegisterServices(IKernel kernel) 
    { 
        kernel.Load(new RavenDBNinjectModule()); 
    } 
    

運行應用程序時,生成以下網址( 「http://localhost:1423」)

驗證文件 「Raven.Studio.xap」在顯示我的應用程序的根

我試圖訪問「http://localhost:8080」,但下面的屏幕:enter image description here

我在做什麼錯?

+0

你確定'documentStore.Initialize'實際上被調用嗎? –

+0

如果您將代碼片段發佈到項目的項目符號列表中,則需要將代碼縮進至少8個空格(不像往常一樣) –

+0

'documentStore.Initialize'未運行!謝謝你@FitzchakYitzchaki你幫我找到了解決方案。 寫一個答案,我會批准它! – ridermansb

回答

0

事實證明,這個問題是documentStore.Initialize永遠不會被調用,因爲沒有有人問Ninject解決IDocumentStore

0

您正在設置Url屬性,這意味着您未在嵌入模式下運行,而是在服務器模式下運行。 刪除Url屬性,一切都將爲你工作。

+0

我做了更改。 var documentStore = new EmbeddableDocumentStore {DataDirectory =「〜/ App_Data」,UseEmbeddedHttpServer = true};' 實際上最初是好的,但作爲試圖把URL – ridermansb

0

我發現問題了!

因爲他在任何時間使用IDocumentSession的ninject沒有創造的IDocumentStore實例,因此不能運行Initialize方法

+0

所以你最終如何解決它?我有同樣的問題,第一次請求我的MVC應用程序工作,之後,烏鴉工作室接管應用程序:) –

相關問題