1

私は RavenDB を学び始めています。サーバー マシンにサーバー バージョンをインストールし、単純なコンソール アプリケーションにクライアント dll を追加しました。アプリケーションを実行しようとすると、「要求が中止されました: 要求が取り消されました」という WebException が発生します。

コードは次のとおりです。

public class Article : AbstractIndexCreationTask<Article>  
  {
    public string Id { get; set; }
    public string Text { get; set; }
    public string Title { get; set; }

    public Article()
    {
        Map = articles => from article in articles select new { article.Text };  
    }
} 

       static void Main(string[] args)
    {
        var ravenIntroArticle = new Article()
        {
            Text = "RavenDB fits into a movement that is called ...",
            Title = "RavenDB Introduction",
        };

        var csharpUsingArticle = new Article()
        {
            Text = "The full value of the C# using statement ...",
            Title = "Your Friend the C# Using Statement",
        };

        var nutsAndProteinArticle = new Article()
        {
            Text = "Nuts are a great source of protein ...",
            Title = "Nuts and Protein",
        };

        using (IDocumentStore documentStore = new DocumentStore() { Url = "http://rtest01:8081" })
        {
            documentStore.Initialize();
            using (IDocumentSession session = documentStore.OpenSession())
            {
                session.Store(ravenIntroArticle); // the exception happens here
                session.Store(csharpUsingArticle);
                session.Store(nutsAndProteinArticle);
                session.SaveChanges();
            }
        }

ここに画像の説明を入力

ローカル サーバー " http://localhost:8080 "で実行しようとすると、次のようになります。

ここに画像の説明を入力

私が欠けているものを教えてください。

ありがとう。

4

2 に答える 2

1

コード URL のポート 8080 が、RavenDb サーバーを実行しているコンソールに表示される"http://rtest01:8080"ポートと一致しません。8081

于 2012-07-20T19:49:37.460 に答える
0

そのコードの何が問題だったのかを理解するのに少し時間がかかりましたがAbstractIndexCreationTask<Article>、POCO クラスの代わりに保存しようとしていることが本当に明確になったので、サンプルで示してみましょう。

//This is the POCO entity that we will be storing into Raven
public class Article
{
    public string Id { get; set; }
    public string Text { get; set; }
    public string Title { get; set; }
}

//This is the IndexCreationTask that builds the index
public class Article_Text : AbstractIndexCreationTask<Article>
{
    public Article_Text()
    {
        Map = articles => from article in articles select new { article.Text };
    }
}

static class Program
{
    static void Main()
    {
        var ravenIntroArticle = new Article()
        {
            Text = "RavenDB fits into a movement that is called ...",
            Title = "RavenDB Introduction",
        };

        var csharpUsingArticle = new Article()
        {
            Text = "The full value of the C# using statement ...",
            Title = "Your Friend the C# Using Statement",
        };

        var nutsAndProteinArticle = new Article()
        {
            Text = "Nuts are a great source of protein ...",
            Title = "Nuts and Protein",
        };

        using ( IDocumentStore documentStore = new DocumentStore { Url = "http://rtest01:8081" }.Initialize() )
        {
            // This is the static call to create the index
            IndexCreation.CreateIndexes( typeof( Article_Text ).Assembly, documentStore );
            using ( IDocumentSession session = documentStore.OpenSession() )
            {
                session.Store( ravenIntroArticle ); // no more exceptions here!
                session.Store( csharpUsingArticle );
                session.Store( nutsAndProteinArticle );
                session.SaveChanges();
            }
        }

    }
}

于 2012-08-10T17:10:23.503 に答える