2016-10-29 3 views
0

Я пытаюсь использовать существующий кластер Consul в качестве поставщика членства для тестового приложения Orleans.Попытка установить членство в кластере Orleans с Consul

Я получаю эту ошибку при подключении моего клиента приложение к Силос

Не удалось найти шлюз в Orleans.Runtime.Host.ConsulBasedMembershipTable. Клиент Orleans не может инициализировать.

Копаясь в классе ConsulUtils, получаемые записи не имеют определенных прокси-портов и отбрасываются - следовательно, пустой набор результатов.

Я инициализировать силос так:

 var clusterConfiguration = new ClusterConfiguration(); 
     clusterConfiguration.Globals.DataConnectionString = "http://localhost:8500"; 
     clusterConfiguration.Globals.DeploymentId = "OrleansPlayground"; 
     clusterConfiguration.Globals.LivenessType = GlobalConfiguration.LivenessProviderType.Custom; 
     clusterConfiguration.Globals.MembershipTableAssembly = "OrleansConsulUtils"; 
     clusterConfiguration.Globals.ReminderServiceType = GlobalConfiguration.ReminderServiceProviderType.Disabled; 

     var silohost = new SiloHost("Fred", clusterConfiguration); 

     silohost.InitializeOrleansSilo(); 
     startup = Task.Factory.StartNew(() => 
     { 
      return silohost.StartOrleansSilo(); 
     }); 
     return true; 

И я могу установить клиента приложение вверх, как это:

 var config = new ClientConfiguration(); 

     config.CustomGatewayProviderAssemblyName = "OrleansConsulUtils"; 
     config.DataConnectionString = "http://localhost:8500"; 
     config.DeploymentId = "OrleansPlayground"; 
     config.GatewayProvider = ClientConfiguration.GatewayProviderType.Custom; 

     GrainClient.Initialize(config); 

Глядя на код в ConsulUtils я могу видеть, что ProxyPort не set (т.е. равно 0), когда запись сохраняется. Поэтому я предполагаю, что у меня есть проблема при инициализации бункера, но я не могу понять, что это такое!

ответ

0

Не углубляясь глубоко, звучит как ошибка. Пожалуйста, отправьте сообщение на GitHub, и мы постараемся вам помочь.

+0

Спасибо! Я добавил его как проблему - https://github.com/dotnet/orleans/issues/2370 –

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