3

ライブネスのために SQL Server を使用する Orleans のテスト環境をセットアップしようとしています。これは私のサーバー構成ファイルです:

<?xml version="1.0" encoding="utf-8" ?>
<OrleansConfiguration xmlns="urn:orleans">
  <Globals>
    <Liveness LivenessType="SqlServer" DeploymentId="42783519-d64e-44c9-9c29-111111111133" DataConnectionString="Data Source=.\\SQLEXPRESS;Initial Catalog=Orleans;Integrated Security=True;" />
    <!--<SeedNode Address="localhost" Port="11111" />-->
  </Globals>
  <Defaults>
    <Networking Address="localhost" Port="11111" />
    <ProxyingGateway Address="localhost" Port="30000" />
    <Tracing DefaultTraceLevel="Info" TraceToConsole="true" TraceToFile="{0}-{1}.log">
      <TraceLevelOverride LogPrefix="Application" TraceLevel="Info" />
    </Tracing>
    <Statistics MetricsTableWriteInterval="30s" PerfCounterWriteInterval="30s" LogWriteInterval="300s" WriteLogStatisticsToTable="true" />
  </Defaults>
  <Override Node="Primary">
    <Networking Address="localhost" Port="11111" />
    <ProxyingGateway Address="localhost" Port="30000" />
  </Override>
</OrleansConfiguration>

この構成を使用すると、実行時に次のエラーが発生します。

MembershipTableGrain は Seed ノードなしでは実行できません。サイロ構成ファイルをチェックして、SeedNode 要素が指定されていることを確認してください。または、LivenessType に AzureTable を使用することもできます。パラメータ名: グレイン = MembershipTableGrain 例外 = System.ArgumentException: MembershipTableGrain はシード ノードなしでは実行できません - サイロ構成ファイルを確認し、SeedNode 要素が指定されていることを確認してください。または、LivenessType に AzureTable を使用することもできます。

さらに上のログでは、Liveness が MembershipTableGrain (デフォルトであり、SeeNode が必要) であることが示されています。ここで何が欠けていますか?

4

3 に答える 3

1

XML の代わりに、プログラム可能な API を構成に使用することもできます。

于 2016-01-07T03:36:29.787 に答える
0

問題が見つかりました。これは Liveness タイプを変更する方法ではありません。次のようになります。

<SystemStore SystemStoreType="SqlServer" DeploymentId="42783519-d64e-44c9-9c29-111111111133" DataConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Orleans;Integrated Security=True;" />
<Liveness LivenessType="SqlServer" />

また、必ず「Microsoft.Orleans.OrleansSqlUtils」NuGet パッケージを参照して、このSQL 作成スクリプトを実行する必要があります。

于 2016-01-06T16:16:18.890 に答える