En regardant le Service Remoting article, je peux voir ce qui suit:Quelles sont les "exceptions transitoires" gérées par ServiceProxy?
Si des exceptions transitoires se produit, proxy retente l'appel.
Qu'est-ce qui est spécifiquement considéré comme une «exception transitoire» par le proxy?
Dans le passé, nous avons traité Délai d'attente, InvalidOperation (See here), FabricNotReadableException (See here) et FabricTransientExceptions nous-mêmes pour les opérations sur Collections fiables - Faut-il faire la même chose pour nos interactions avec d'autres services à l'aide de SF Remoting?
À titre d'exemple:
//Get Proxy
var serviceProxy = ServiceProxy.Create<IService>(GetServiceUri(), GetPartitionKey());
//Make Call to method which has no internal handling for transient SF failures...
//Should this be wrapped with a retry policy?
var result = await serviceProxy.GetAll();
Il est probablement quelque part [dans le code] (https://github.com/Azure/service-fabric-services-and-actors-dotnet/blob/develop/src/Microsoft.ServiceFabric.Services.Remoting/Client /ServiceRemotingExceptionHandler.cs#L118) alors peut-être obtenir le code et donc un peu de creuser. –
@PeterBons Merci! Je ne me suis pas rendu compte que tout cela avait été ouvert en source ... On dirait qu'il couvre FabricNotPrimaryException quand le primaire a bougé ainsi que toutes les instances de FabricTransientException et FabricNotReadableException –