4

AsyncPages の NServiceBus サンプルを実行しようとしています。十分に単純に思えます。

  1. NServiceBus.com から最新のものをダウンロードします。
  2. 前提条件をインストールするには、bat ファイルを実行します。
  3. ソリューションを開く
  4. F5を押します
  5. テキストボックスに数字を入力

これを行うと、厄介な RavenDB バグが発生します (NServiceBus はこれをデータ ストアとして使用します)。

Exception when starting endpoint, error has been logged. Reason: There is no index named: dynamic/TimeoutData

RavenDB がインデックスを作成しなかった、または作成できなかったようです。これが RavenDB のバグなのか NServiceBus のバグなのかはわかりませんが、サンプルを実行できません。

前もって感謝します

アップデート:

アンドレアスが提案したように、バージョン 3.2.1 にアップグレードする場合。

Exception when starting endpoint, error has been logged. Reason: An exception was thrown while invoking the constructor 'Void .ctor(Raven.Client.IDocumentStore)' on type 'RavenTimeoutPersistence'.

また、サンプルと TopShelf に問題があることにも気付きました。トップシェルフのホストは、3.2.1 ではなく 3.2.0 バージョンの NServiceBus を参照しています。

今のところ楽しい経験ではありませんが、サンプルをあきらめて何かに飛び込むべきかもしれません.

4

3 に答える 3

3

I've been struggling with the same problem - it turned out NServiceBus had problem with connection to RavenDB.

RunMeFirst.bat tries to configure things but apparently not always succeeds.

In my case I had RavenDB installed but not on a standard port 8080 where NServiceBus is expecting it to be. Check your Raven.Server.exe.config in your Raven installation folder (by default C:\RavenDB\RavenDB.0.0.0\RavenDB.Server). There should be port number defined. If it's different you can override NServiceBus default connection string to RavenDB by adding in your web.config or app.config:

<connectionStrings>
    <add name="NServiceBus.Persistence" connectionString="Url=http://localhost:8081;" />
</connectionStrings>

Where 8081 is sample different RavenDB connection port.

Other thing that might go wrong is that your RavenDB is in conflict with other service that is using port 8080, to solve this you may change port number in Raven config and add custom connection string.

Hope that helps, Cheers

于 2012-08-14T11:23:44.547 に答える
2

はい、その問題を確認しており、今後のパッチ リリースで修正される予定です (間もなく)。現在の回避策は、RunMeFirst.bat を再度呼び出すことです。

于 2012-05-29T21:42:22.780 に答える
0

RunMeFirst.bat が正しく実行されなかった理由は、セキュリティ上の制限によるものでした。

  1. NServiceBus3.2.x.zip ファイルを右クリックし、プロパティを選択して [ブロック解除] を選択することを忘れないでください。
  2. バッチ ファイルは管理者権限で実行する必要があります。「管理者として実行」でコマンドプロンプトを開き、実行します

その後、鉱山は完全に機能しました。

于 2012-08-22T20:25:53.107 に答える