Azure service fabric 默认通信代理的OperationRetrySettings的默认值
当我为我的服务创建代理时,如下所示:Azure service fabric 默认通信代理的OperationRetrySettings的默认值,azure-service-fabric,Azure Service Fabric,当我为我的服务创建代理时,如下所示: ServiceProxy.Create<IMyService>(new Uri("fabric:/MyApplication/MyService")); ServiceProxy.Create(新Uri(“fabric:/MyApplication/MyService”); OperationRetrySettings实例将具有哪些值 默认TryHandleException实现中是否有任何逻辑 在出现异常的情况下,是否会涉及任何与重试相关的
ServiceProxy.Create<IMyService>(new Uri("fabric:/MyApplication/MyService"));
ServiceProxy.Create(新Uri(“fabric:/MyApplication/MyService”);
我使用FabricTransportServiceRemotingListener。基于我的观察,我的观察肯定不能完全涵盖所有问题,因为没有太多信息:
FabrictTransportServiceRemotingClientFactory
并传递自定义IEExceptionHandler
找到这些值。如果您使用的是默认的ServiceProxyFactory
或ServiceProxy
,则此属性可能没有任何意义IExceptionHandler
,但注意到如果我在服务中抛出TimeoutException
异常,会多次重试。默认情况下,可能会使用ActorRemotingExceptionHandler
和ServiceRemotingExceptionHandler
的逻辑ServiceProxyFactory
或ActorProxyFactory
,在那里传递IServiceRemotingClientFactory
实现(例如,FabrictTransportServiceRemotingClientFactory
),指定OperationRetrySettings
和IEExceptionHandler
,作为异常处理程序传递您自己的实现根据我的观察,肯定没有完全涵盖所有问题,因为没有太多信息:
FabrictTransportServiceRemotingClientFactory
并传递自定义IEExceptionHandler
找到这些值。如果您使用的是默认的ServiceProxyFactory
或ServiceProxy
,则此属性可能没有任何意义IExceptionHandler
,但注意到如果我在服务中抛出TimeoutException
异常,会多次重试。默认情况下,可能会使用ActorRemotingExceptionHandler
和ServiceRemotingExceptionHandler
的逻辑ServiceProxyFactory
或ActorProxyFactory
,在那里传递IServiceRemotingClientFactory
实现(例如,FabrictTransportServiceRemotingClientFactory
),指定OperationRetrySettings
和IEExceptionHandler
,作为异常处理程序传递您自己的实现ServiceProxy.Create使用默认ServiceProxyFactory 它是使用默认OperationRetrySettings创建的,这些设置记录在此处: 默认ServiceProxyFactory还使用默认的服务删除客户端工厂;FabrictTransportServiceRemotingClientFactory 在本文档的注释之后,您可以看到它使用了ServiceRemotingExceptionHandler,如下所述:
ServiceProxy.Create使用默认ServiceProxyFactory 它是使用默认OperationRetrySettings创建的,这些设置记录在此处: 默认ServiceProxyFactory还使用默认的服务删除客户端工厂;FabrictTransportServiceRemotingClientFactory 在本文档的注释之后,您可以看到它使用了ServiceRemotingExceptionHandler,如下所述:
也许有人可以更正我的答案或提供更精确的信息。也许有人可以更正我的答案或提供更精确的信息。只是一个小提示:我注意到,如果我抛出一个
TimeoutException
,那么该方法会被再次调用10次以上。这就是我怀疑defaultOperationRetrySettings
的原因。您是否从服务实现代码中引发超时异常,SDK的版本是什么?是的,我是从无状态服务中引发异常。当我调用带有异常的方法时,我将输入它一次,然后再输入11次。SDK 2.1.150。只是一个小提示:我注意到,如果我抛出一个TimeoutException
,那么该方法将被再次调用10次以上。这就是我怀疑defaultOperationRetrySettings
的原因。您是否从服务实现代码中引发超时异常,SDK的版本是什么?是的,我是从无状态服务中引发异常。当我调用带有异常的方法时,我将输入它一次,然后再输入11次。SDK 2.1.150。