Вы не можете найти OperationId, в предложенной выше идее OperationID - это идентификатор, сгенерированный вами для идентификации работающей операции, int не генерируется Service Fabric, Service Fabric - это просто оркестратор вашей службы, и он очень мало влияет на дизайн, упомянутый выше. Поскольку ваш первоначальный вопрос был о том, как исправить «Решение» вместо «как решить проблему», трудно ответить чем-то совершенно отличным от того, что вы спрашивали. Я бы порекомендовал вам задать еще один вопрос на тему «Как отменить удаленную операцию с помощью Service Fabric»

аюсь выполнить функцию отмены задач в сервисе состояния сервиса.

План использует токен отмены для распространения уведомлений на связанные темы / Задачи.

Проблема в том, что, хотя эти долго выполняющиеся задачи и потоки ожидают этого сигнала, я не уверен, как найти правильные токены отмены на основе других вызовов Web API.

Я думал об использовании надежного словаря, но даже до того, как опробовать его, я предполагаю, что это зашло в тупик, потому что cancellationToken нельзя сериализовать / десериализовать.

Пожалуйста, помогите мне, что может быть хорошим решением для решения этой проблемы.

Обновить (Я не хотел создавать новую тему, теряя некоторые важные контексты, упомянутые в этой теме, поэтому обновляю в этом посте.)

Подтверждено, что приведенное ниже описание ссылки действительно показывает Надежный сервис, и методы-акторы могут поддерживать токен отмены Тем не менее, типичный вариант использования - это получение запроса на отмену напрямую через веб-API с использованием таких пользовательских функций, как обновление клика, переход на другую страницу и т. Д. В таком сценарии одна и та же конечная точка должна получать запрос, в то время как предыдущий запрос http сохраняется с некоторыми долгое задание или застрял. Это не сценарий в этой теме.

Из ссылки:https://blogs.msdn.microsoft.com/azureservicefabric/2016/02/23/service-fabric-sdk-v1-5-175-and-the-adoption-of-virtual-machine-scale-sets/

CancellationToken поддержка для IService / IActor

Методы Reliable Service и Reliable Actor теперь поддерживают токен отмены, который можно удалить с помощью ActorProxy и ServiceProxy, что позволяет реализовать совместное аннулирование. Клиенты, которые хотят отменить долгосрочную службу или метод субъекта, могут сигнализировать токен отмены, и это намерение отмены будет распространено на метод субъекта / службы. Затем этот метод может определить, когда остановить выполнение, посмотрев на состояние его аргумента токена отмены.

Например, контракт актера, который может иметь долгосрочный метод, может быть смоделирован, как показано ниже:

        public interface IPrimeNumberActorInterface : IActor
        {

            Task<ulong> FindNextPrimeNumberAsync
                (ulong previous, CancellationToken cancellationToken);

        }

Код клиента, который желает отменить выполнение метода, может сообщить о своем намерении, отменив токен отмены.

Ответы на вопрос(1)

Ваш ответ на вопрос