Azure Durable Functions中context.GetInput<>()方法工作原理咨询
关于Azure Durable Functions中context.GetInput<>()的解释
context.GetInput<T>()的作用是读取当前Activity函数被调用时传入的输入参数,两个函数返回不同值的核心原因是调用它们的Orchestrator函数传入了不一样的参数,和方法本身没有关系。
举个对应的Orchestrator代码例子你就懂了:
[FunctionName(nameof(MyOrchestrator))] public async Task RunOrchestrator( [OrchestrationTrigger] IDurableOrchestrationContext context) { // 调用GetUrlAsync时,传入Url字符串作为参数 var url = await context.CallActivityAsync<string>(nameof(GetUrlAsync), "https://example.com"); // 调用GetIdAsync时,传入ID字符串作为参数 var id = await context.CallActivityAsync<string>(nameof(GetIdAsync), "12345"); }
本质上:
- 当Orchestrator调用
GetUrlAsync时,会把第二个参数(Url字符串)传递给该Activity; - 调用
GetIdAsync时,传递的是另一个参数(ID字符串); - 两个Activity里的
context.GetInput<string>()只是各自取出了被调用时收到的那个参数,所以返回结果自然不同。
内容的提问来源于stack exchange,提问作者MomoCodez
相关产品推荐
相关产品推荐

