Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure service fabric 什么时候或什么时候';在服务结构中重写无状态服务的RunAsync方法的最佳用途是什么_Azure Service Fabric_Service Fabric Stateful - Fatal编程技术网

Azure service fabric 什么时候或什么时候';在服务结构中重写无状态服务的RunAsync方法的最佳用途是什么

Azure service fabric 什么时候或什么时候';在服务结构中重写无状态服务的RunAsync方法的最佳用途是什么,azure-service-fabric,service-fabric-stateful,Azure Service Fabric,Service Fabric Stateful,我一直在使用无状态服务编程模型,但我并没有真正重写RunAsync方法来运行应用程序逻辑。您通常什么时候重写此方法 服务可以具有自主行为和交互行为 您可以使用CreateServiceInstanceListeners创建通信侦听器,该侦听器允许与您的服务交互 您的服务可能(还)需要执行后台任务(不由外部调用方触发)。例如,它可以监视队列。您可以使用RunAsync实现这一点,在那里您将开始一个无止境的循环。在循环中,您将检查CancellationToken,然后检查队列中的项目并对其进行处理

我一直在使用无状态服务编程模型,但我并没有真正重写RunAsync方法来运行应用程序逻辑。您通常什么时候重写此方法

服务可以具有自主行为和交互行为

您可以使用
CreateServiceInstanceListeners
创建通信侦听器,该侦听器允许与您的服务交互

您的服务可能(还)需要执行后台任务(不由外部调用方触发)。例如,它可以监视队列。您可以使用
RunAsync
实现这一点,在那里您将开始一个无止境的循环。在循环中,您将检查
CancellationToken
,然后检查队列中的项目并对其进行处理

其他示例(无循环)包括:

  • 服务初始化
  • 预取数据

一个例子是。

这个例子是有状态服务,但我正在寻找无状态服务。无状态和有状态服务的情况都是一样的。这是一样的,但在有状态服务中,它有状态管理器来访问可靠的字典或队列。所以有状态服务在RunAsync方法中运行一些进程是有意义的。但在无状态服务(没有队列/字典)中,我只是想知道什么时候/什么代码要放进去,因为在无状态服务中,我将直接调用我创建的方法。例如,您可以监视外部服务,轮询api。或者从另一个服务/数据存储中获取参考数据,以加快交互请求的响应时间。或者用它来监控其他服务和发送自定义的健康报告。这也是我的想法。谢谢