Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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# 在多个azure函数实例之间共享对象的一个实例_C#_Azure_Azure Functions_Azure Durable Functions - Fatal编程技术网

C# 在多个azure函数实例之间共享对象的一个实例

C# 在多个azure函数实例之间共享对象的一个实例,c#,azure,azure-functions,azure-durable-functions,C#,Azure,Azure Functions,Azure Durable Functions,我遇到的情况是,我需要在Azure函数的多个实例之间共享对象的一个实例。这是因为对象在内部保存了我需要的一些状态,它是外部库,所以我需要使用它,没有解决方法。使用持久的Azure功能是否有可能做到这一点?有一个函数将由队列触发器或http触发器触发,该函数将具有该单例实例,并调用常规azure函数?那么,“主”功能什么时候关闭 干杯函数之间不可能共享实例。这些函数是在不同的机器上运行的,它们只是无法获得一个内存位置的引用,谁知道它在哪里 您的标记azure持久功能也不是您真正需要的解决方案。它不

我遇到的情况是,我需要在Azure函数的多个实例之间共享对象的一个实例。这是因为对象在内部保存了我需要的一些状态,它是外部库,所以我需要使用它,没有解决方法。使用持久的Azure功能是否有可能做到这一点?有一个函数将由队列触发器或http触发器触发,该函数将具有该单例实例,并调用常规azure函数?那么,“主”功能什么时候关闭


干杯

函数之间不可能共享实例。这些函数是在不同的机器上运行的,它们只是无法获得一个内存位置的引用,谁知道它在哪里

您的标记azure持久功能也不是您真正需要的解决方案。它不会永远存储真正的单例,它只是存储和恢复函数执行的内容和得到的内容。某些单例中的实际数据将丢失。它存储状态的方式是通过表/博客存储


因此,从本质上讲,如果您在函数之间共享了状态(甚至是需要在同一个函数中保持的状态),那么您唯一的方法就是使用某种您可以依赖的持久性存储。所以,blob存储、表、redis、sql等等

函数之间不可能共享实例。这些函数是在不同的机器上运行的,它们只是无法获得一个内存位置的引用,谁知道它在哪里

您的标记azure持久功能也不是您真正需要的解决方案。它不会永远存储真正的单例,它只是存储和恢复函数执行的内容和得到的内容。某些单例中的实际数据将丢失。它存储状态的方式是通过表/博客存储



因此,从本质上讲,如果您在函数之间共享了状态(甚至是需要在同一个函数中保持的状态),那么您唯一的方法就是使用某种您可以依赖的持久性存储。所以,blob存储、表、redis、sql等等

您不能将其存储在表存储中吗???我们可以将对象实例存储在表存储中吗?@Thomas使用redis缓存难道还不够吗?出于所有目的和目的,不同的azure功能实际上是不同的进程。您不能在它们之间共享实例。您可以将消息从一个对象发送到另一个对象,该对象将在第一次执行时正确设置状态,然后将其保留在内存中,直到所有触发的执行完成,然后,当计划下一次执行时,它可以创建新实例,设置状态并维护它,持久功能是否可以实现这一点?您不能将其存储在表存储中吗?我们可以将对象实例存储在表存储中吗?@Thomas使用redis缓存难道不够吗?出于所有目的和目的,不同的azure功能实际上是不同的进程。您不能在它们之间共享实例。您可以将消息从一个对象发送到另一个对象,该对象将在第一次执行时正确设置状态,然后将其保留在内存中,直到所有触发的执行完成,然后,当计划下一次执行时,它可以创建新实例,设置状态并维护它,持久功能是否可能?该对象将在第一次执行时正确设置状态,然后将其保留并保持在内存中,直到触发的所有执行完成,然后,当计划下一次执行时,它可以创建新实例,设置状态并保持状态,持久功能是否可能?是否可能。确定,很酷,谢谢你们的回答,我只是需要一些指导来知道去往哪个方向,这是否意味着使用singleton orchestrator(),在这里我可以启动一个orchestrator实例,在这里我可以维护内存状态并将参数传递给其他活动函数?@Bida你们解决了这个问题吗?我考虑过类似的方法,但我需要在后续调用之间保持对象实例使用相同的azure函数计时器。是否可能?该对象将在第一次执行时正确设置状态,然后将其保存并保存在内存中,直到触发的所有执行完成,然后,当计划下一次执行时,它可以创建新实例,设置状态并维护状态,这是否可能使用持久功能?这是可能的。好的,很酷,谢谢您的回答,我需要的只是指导,以了解向哪个方向去做,这是否意味着使用singleton orchestrator(),在这里我可以启动一个orchestrator实例,在那里我可以保持内存状态并将参数传递给其他活动函数?@Bida您解决了这个问题吗?我考虑过类似的方法,但我需要在后续调用之间保持对象实例使用相同的azure函数计时器。可能吗?