在 Durable Function 编排器中从私有方法调用 activity 函数可以吗?
Is it fine to call activity functions from private methods in a Durable Function orchestrator?
在 Durable Function 编排器中从私有方法调用 activity 函数是否可以,还是应该避免?这是一个例子:
[FunctionName(nameof(OrchFunc))]
public async Task OrchFunc(
[OrchestrationTrigger] DurableOrchestrationContext context,
ILogger logger) {
var myParameter = context.GetInput<string>();
// Any issue with doing this with the way checkpoints work?
var result = await MyPrivateFunc(context, myProperty);
}
private async Task<bool> MyPrivateFunc(
DurableOrchestrationContext context,
string myParameter) {
return result = await context.CallActivityAsync<bool>(nameof(MyActivityFunc), myParameter);
}
请记住,这是一个澄清问题的简单示例。我已经知道它 可以 直接从编排函数调用,从而跳过私有函数。我不是想看看它在这里是否有意义,而是想了解是否会有意想不到的副作用。
我想您可能已经解决了这个问题,但对于其他寻求此问题的人来说,是的,这应该可以正常工作。 context
将通过引用传递,因此它仍然是调用 activity 函数的那个。但是请注意,对编排的限制仍将适用于私有方法,因此除了 context
.
之外,不会 await
ing 调用任何东西
在 Durable Function 编排器中从私有方法调用 activity 函数是否可以,还是应该避免?这是一个例子:
[FunctionName(nameof(OrchFunc))]
public async Task OrchFunc(
[OrchestrationTrigger] DurableOrchestrationContext context,
ILogger logger) {
var myParameter = context.GetInput<string>();
// Any issue with doing this with the way checkpoints work?
var result = await MyPrivateFunc(context, myProperty);
}
private async Task<bool> MyPrivateFunc(
DurableOrchestrationContext context,
string myParameter) {
return result = await context.CallActivityAsync<bool>(nameof(MyActivityFunc), myParameter);
}
请记住,这是一个澄清问题的简单示例。我已经知道它 可以 直接从编排函数调用,从而跳过私有函数。我不是想看看它在这里是否有意义,而是想了解是否会有意想不到的副作用。
我想您可能已经解决了这个问题,但对于其他寻求此问题的人来说,是的,这应该可以正常工作。 context
将通过引用传递,因此它仍然是调用 activity 函数的那个。但是请注意,对编排的限制仍将适用于私有方法,因此除了 context
.
await
ing 调用任何东西