2016-01-05 2 views
3

Я пытаюсь настроить тестовую среду для Орлеана, которая использует SQL Server для жизнеспособности. Это мой сервер конфигурационный файл:Orleans Specify SqlServer for Liveness

<?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 не может работать без семян узла - пожалуйста, проверьте файл конфигурации силос и убедитесь, что это указывает элемент SeedNode. Кроме того, вы можете использовать AzureTable для LivenessType. Имя параметра: зерно = MemberhipTableGrain Exception = System.ArgumentException: MembershipTableGrain не может работать без Seed узел - проверьте конфигурационный файл вашего силоса и убедитесь, что он указывает элемент SeedNode. Кроме того, вы можете использовать AzureTable для LivenessType.

и далее вверх, в журналах говорится, что Liveness - членствоTableGrain (которое является значением по умолчанию и требует SeeNode). Что мне здесь не хватает?

ответ

2

Мой силос конфигурации для членства SQLServer выглядит следующим образом

<?xml version="1.0" encoding="utf-8"?> 
<OrleansConfiguration xmlns="urn:orleans"> 
    <Globals> 
     <SystemStore SystemStoreType="SqlServer" DeploymentId="YYYYY" DataConnectionString="Server=THESERVER;Database=Orleans;User ID=USER;password=PASSWORD;"/> 
    </Globals> 
    <Defaults> 
     <Networking Address="" Port="11111"/> 
     <ProxyingGateway Address="" Port="30000"/> 
    </Defaults> 
</OrleansConfiguration> 

Не нужно указывать тип жизнедеятельности. Он показывает это, глядя на SystemStoreType.

Клиент конфигурация действительно нуждается в шлюзе указан

<ClientConfiguration xmlns="urn:orleans"> 

    <SystemStore SystemStoreType ="SqlServer" 
       DeploymentId="YYY" 
       DataConnectionString="Server=THESERVER;Database=Orleans;User ID=USER;password=PASSWORD;" /> 

    <GatewayProvider ProviderType="SqlServer"/> 
</ClientConfiguration> 
+0

Обратите внимание на дату его опубликования. Я очень подозреваю, что в будущем этот стиль конфигурации будет заменен на DI и/или TypeProviders. – BozoJoe

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 Create Script

1

Вы также можете использовать программируемый интерфейс для конфигурации, а не XML.

Смежные вопросы