2012-06-17 40 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应用程序工作,之后,乌鸦工作室接管应用程序:) –

相关问题