Azure: "Служба не существует" при вызове актера

У меня есть IActor что я хочу позвонить, чтобы сделать простое вычисление на основе напоминания. Это называется так:

var actorId = new ActorId($"item_{resp.ResultValue.Id}");
var scheduler = ActorProxy.Create<IScheduler>(actorId, ITEM_SCHEDUER_URI);
try
{
    await scheduler.SetupReminderAsync(new ItemInformation()
    {
        EntityId = entityId.ToString(),
        Date = resp.ResultValue.AutoResolveOn
    }).ConfigureAwait(false);
}

Однако всякий раз, когда SetupReminderAsync метод называется, я получаю HRESULT: 0x80071BCD: Service does not exist исключение. Я не уверен, что это значит, так как я могу ясно видеть, как сервис Актера раскручивается в режиме отладки. Я мог бы действительно использовать некоторые рекомендации о том, что происходит. Спасибо!

3 ответа

Решение

Оказывается мой ITEM_SCHEDULER_URI было не правильно, потому что я предполагал, что конечная точка отличается от того, что было фактически заполнено После проверки ApplicationManifest Я был в состоянии решить проблему.

Это заняло у меня некоторое время, но моя проблема заключалась в том, что у меня был совершенно неправильный интерфейс в ActorProxy.Create вызов. Служебная фабрика все еще регистрирует актера, и это можно увидеть в проводнике сервисной фабрики, но не обманывайте себя.

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

Вы видите конечную точку для ActorService в диспетчере локальных кластеров Service Fabric? Я видел эту проблему, когда я забыл определить конечную точку. Если вы используете по умолчанию ActorServiceЯ верю, что это определяет свое. Но если вы используете свой собственный ActorService, Вы должны переопределить CreateServiceReplicaListeners() и создай сам

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
    return new List<ServiceReplicaListener>(base.CreateServiceReplicaListeners())
    {
        new ServiceReplicaListener(c => new FabricTransportServiceRemotingListener(c, this)),
    };
}
Другие вопросы по тегам