无法访问RavenDB Management Studio

时间:2012-06-17 02:18:23

标签: asp.net-mvc-4 ravendb ravendb-studio

尝试:

  1. 我在VS2012中创建了一个新项目
  2. 我是通过NuGet包RavenDB Embedded -Pre
  3. 安装的
  4. 我安装了Ninject.MVC3
  5. 为ninject RavenDB添加了一个模块:

    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();
       }
    } 
    
  6. 在我的班级“NinjectWebCommon”中......

    private static void RegisterServices(IKernel kernel)
    {
        kernel.Load(new RavenDBNinjectModule());
    } 
    
  7. 运行应用程序时,会生成以下网址(“http://localhost:1423”)

    确认文件“Raven.Studio.xap”是我的应用程序的根

    我尝试访问“http://localhost:8080”,但会显示以下屏幕:enter image description here

    我做错了什么?

3 个答案:

答案 0 :(得分:0)

您正在设置Url属性,这意味着您没有在嵌入模式下运行,而是在服务器模式下运行。 删除Url属性,一切都适合您。

答案 1 :(得分:0)

我发现了问题!

由于他很快就使用了IDocumentSession,因此ninject没有创建IDocumentStore的实例,因此没有运行Initialize方法

答案 2 :(得分:0)

事实证明,问题是documentStore.Initialize永远不会被调用,因为没有人确实要求Ninject解决IDocumentStore