Azure service fabric 是否取消ActivateAsync上的服务结构参与者激活?

Azure service fabric 是否取消ActivateAsync上的服务结构参与者激活?,azure-service-fabric,service-fabric-actor,Azure Service Fabric,Service Fabric Actor,是否可以根据初始化代码和ActorProxy.Create返回null来取消ActivateAsync上的激活? 例如,web服务询问设备参与者的状态。具有此Id的设备实际上不存在。我可以在参与者创建时返回null吗?否,原因有两个 从ActorProxy.Create返回的对象是一个可以与(远程)参与者交互的对象,而不是参与者本身 如果参与者在与它交互时不在那里,那么它会及时自动创建,所以您不必担心它的错误 要找出存在哪些角色,您可以与。 PagedResult page=Wait actor

是否可以根据初始化代码和ActorProxy.Create返回null来取消ActivateAsync上的激活? 例如,web服务询问设备参与者的状态。具有此Id的设备实际上不存在。我可以在参与者创建时返回null吗?

否,原因有两个

  • ActorProxy.Create
    返回的对象是一个可以与(远程)参与者交互的对象,而不是参与者本身
  • 如果参与者在与它交互时不在那里,那么它会及时自动创建,所以您不必担心它的错误
  • 要找出存在哪些角色,您可以与。
    PagedResult page=Wait actorServiceProxy.GetActorsAsync(continuationToken,cancellationToken)

    所以,如果没有实际的设备由Actor表示,那么当客户端调用Actor的方法获取错误时,它会找到它吗?至少,在第一次方法调用期间,可以在ActivateAsync上引发错误,而不是在每个方法中进行此类错误处理?您可以创建一个参与者(或服务)来维护已知设备ID的列表,并在引用设备参与者之前进行检查。这将为您节省创建无法使用的设备参与者的开销。