2

試す:

  1. VS2012で新しいプロジェクトを作成しました
  2. NuGetパッケージRavenDB Embedded -Preを介してインストールしました
  3. Ninject.MVC3をインストールしました
  4. 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();
       }
    } 
    
  5. 私のクラス「NinjectWebCommon」では...

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

アプリケーションを実行すると、次の URL が生成されました (" http://localhost:1423 ")

ファイル「Raven.Studio.xap」がアプリケーションのルートであることを確認します

「 http://localhost:8080 」にアクセスしてみましたが、以下の画面が表示されます。ここに画像の説明を入力

私は何を間違っていますか?

4

3 に答える 3

0

問題が見つかりました!

彼はすぐに使用IDocumentSessionしたため、ninject は のインスタンスを作成しておらず、メソッドIDocumentStoreを実行していませんでした。Initialize

于 2012-06-17T11:25:06.283 に答える
0

documentStore.Initialize結局のところ、誰も Ninject に解決を依頼しなかったため、問題は呼び出されないことIDocumentStoreです。

于 2012-06-17T13:31:27.390 に答える
0

Url プロパティを設定しています。これは、埋め込みモードではなく、サーバー モードで実行していることを意味します。Url プロパティを削除すると、すべてが機能します。

于 2012-06-17T09:46:16.663 に答える