Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
C# 服务结构参与者超时_C#_Azure_Azure Service Fabric - Fatal编程技术网

C# 服务结构参与者超时

C# 服务结构参与者超时,c#,azure,azure-service-fabric,C#,Azure,Azure Service Fabric,我有一个基于服务结构OWIN的API,它正在调用一个服务结构参与者。 API在返回响应之前等待参与者完成工作。有时演员可能需要很长时间才能完成 Actor的默认超时为5分钟,我已尝试使用以下方法增加操作超时: [assembly: FabricTransportServiceRemotingProvider(MaxMessageSize = 1073741824, OperationTimeoutInSeconds = 600)] 在API和actor中。但它在5分钟后抛出超时错误。是否有其他

我有一个基于服务结构OWIN的API,它正在调用一个服务结构参与者。 API在返回响应之前等待参与者完成工作。有时演员可能需要很长时间才能完成

Actor的默认超时为5分钟,我已尝试使用以下方法增加操作超时:

[assembly: FabricTransportServiceRemotingProvider(MaxMessageSize = 1073741824, OperationTimeoutInSeconds = 600)]
在API和actor中。但它在5分钟后抛出超时错误。是否有其他方法可以增加服务结构服务/参与者的超时

下面是我在API端收到的错误:

"This can happen if message is dropped when service is busy or its long running operation and taking more time than configured Operation Timeout." 

如果这项工作比预期的时间还要长呢?您是否考虑过将此异步/事件驱动

例如:

  • 调用
    BeginProcessing
    ,在参与者内部安排提醒。返回作业令牌
  • 提醒触发,处理开始
  • 处理完成
  • 通知调用方(使用SignalR或类似工具),或在
    JobMonitorActor
    上公开
    GetJobProgress
    端点。使用作业令牌进行关联

  • 如果这项工作比预期的时间还要长呢?您是否考虑过将此异步/事件驱动

    例如:

  • 调用
    BeginProcessing
    ,在参与者内部安排提醒。返回作业令牌
  • 提醒触发,处理开始
  • 处理完成
  • 通知调用方(使用SignalR或类似工具),或在
    JobMonitorActor
    上公开
    GetJobProgress
    端点。使用作业令牌进行关联
  • 问题是——即使你在提醒中完成了工作——当参与者在提醒中处理时,对参与者的调用将超时。-不幸的是,Service Fabric Reliable Actors中没有真正的
    Tell
    命令(或邮箱),因此,除非他们完全免费并且什么也不做,否则您无法向他们发送消息。-这是该实现的一个巨大缺陷:(问题是——即使你在提醒中完成工作——当参与者在提醒中处理时,对参与者的调用将超时。--不幸的是,没有真正的
    Tell
    命令(或邮箱)在服务结构中,参与者是可靠的,因此,除非他们完全免费并且什么也不做,否则您无法向他们发送消息。--这是此实现的一个巨大的缺陷(