如何在 Service Fabric 中为服务远程处理调用设置超时



>我有一个Service Fabric服务,我从另一个服务调用它:

var checkerProxy = new ServiceProxyFactory<ICheck>(uri);
var checker = checkerProxy.CreateSingletonServiceProxy();
success = await checker.CheckMe();

如果呼叫时间超过超时,我想中止呼叫。

如何在 Service Fabric 中设置远程调用的超时?

编辑1:注意我可以做这样的事情:

success = checker.CheckMe().Wait(TimeSpan.FromSeconds(10));

但这不会中止远程调用,而只会在超时时停止等待任务完成,并且我没有返回值。

您可以使用

FabricTransportRemotingSettings在代理中设置超时:

            FabricTransportRemotingSettings settings = new FabricTransportRemotingSettings();
            settings.OperationTimeout = TimeSpan.FromMinutes(5);
            return new ServiceProxyFactory(
                (h) =>
                {
                    return new FabricTransportServiceRemotingClientFactory(settings);
                });

相关内容

  • 没有找到相关文章