Serviço Remoto do Service Fabric

Estive migrando dos Serviços em Nuvem para o Service Fabric nas últimas semanas e encontrei alguns obstáculos usando o Remoting entre dois serviços.

Eu tenho usado a documentação oficial e o código de exemplo no Service Remoting e, em particular, estou tentando fazer com que o exemplo descrito aqui funcione:

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication-remoting

Eu tenho 2 serviços. Um é nomeado"RemoteService" e o outro é nomeado"CallerService". Ambos são derivados de um projeto de serviço sem estado padrão.

Nos dois"RemoteService" e"CallerService" projetos Adicionei a seguinte interface para descrever o contrato de serviço entre eles:

public interface IMyService : IService
{
    Task<string> HelloNameAsync(string name);
}

No"RemoteService" Eu criei o método associado dentro da classe RemoteService

public Task<string> HelloNameAsync(string name)
{
    return Task.FromResult("Hello " + name + "!");
}

Eu também anuloCreateServiceInstanceListeners com o seguinte

protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
    return new[] { new ServiceInstanceListener(context => this.CreateServiceRemotingListener(context)) };
}

No meu"CallerService" quando tento conectar, faça a chamada para o "RemoteService" com o seguinte:

IMyService helloNameClient = ServiceProxy.Create<IMyService>(new Uri("fabric:/Application/RemoteService"));
string message = await helloNameClient.HelloNameAsync("Luke");

Eu recebo essa exceção

InnerException = {"Interface id '1994370306' is not implemented by object 'RemoteService.RemoteService'"}

Examinei esta amostra com um pente fino e tenho certeza de que tenho tudo no lugar como deveria. Eu li sobre a configuração de pontos de extremidade e o registro de seus serviços em um diretório de serviços, mas pelo que entendi, são para serviços externos e a documentação do Remoting não menciona a exigência disso.

ATUALIZAR:

Aqui está como a classe RemoteService é declarada:

internal sealed class RemoteService : StatelessService, IMyService

ATUALIZAÇÃO 2

Aqui está a aparência do Settings.xml para os dois serviços. Essas são as configurações padrão que saem da caixa com o projeto. Não adicionei ou removi nada. Também quero observar que estou executando tudo isso em minha malha de serviço local.

<?xml version="1.0" encoding="utf-8" ?>
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <!-- Add your custom configuration sections and parameters here -->
  <!--
  <Section Name="MyConfigSection">
    <Parameter Name="MyParameter" Value="Value1" />
  </Section>
  -->
</Settings>

questionAnswers(1)

yourAnswerToTheQuestion