gpt4 book ai didi

c# - 为什么 Azure WebJob JobHost.CallAsync 返回错误

转载 作者:行者123 更新时间:2023-12-03 05:44:31 24 4
gpt4 key购买 nike

这是我的代码:

JobHost host = new JobHost(config);
host.CallAsync(typeof(Program).GetMethod("Auth")).GetAwaiter().GetResult();

在 WebJob Run Details 中我看到以下信息:

[04/16/2019 23:21:16 > 6b9633: ERR ] 
[04/16/2019 23:21:16 > 6b9633: ERR ] Unhandled Exception: System.ArgumentNullException: Value cannot be null.
[04/16/2019 23:21:16 > 6b9633: ERR ] Parameter name: method
[04/16/2019 23:21:16 > 6b9633: ERR ] at Microsoft.Azure.WebJobs.JobHost.CallAsync(MethodInfo method, IDictionary`2 arguments, CancellationToken cancellationToken)
[04/16/2019 23:21:16 > 6b9633: ERR ] at XXX.Program.Main() in C:\XXX\Program.cs:line 286
[04/16/2019 23:21:16 > 6b9633: SYS INFO] Status changed to Failed
[04/16/2019 23:21:16 > 6b9633: SYS ERR ] Job failed due to exit code -532462766

我想我正在使用这种方法:

public System.Threading.Tasks.Task CallAsync(System.Reflection.MethodInfo method, [System.Threading.CancellationToken cancellationToken = null])

Microsoft.Azure.WebJobs.JobHost 成员

摘要:调用作业方法。

参数:

method: The job method to call.
cancellationToken: The token to monitor for cancellation requests.

返回:

A System.Threading.Tasks.Task that will call the job method.

但看起来使用了某种覆盖方法。

我的调用方法具有以下签名:

private static async Task Auth()

如何正确调用,避免错误?

最佳答案

GetMethod(string) 是获取公共(public)方法,但你将其声明为私有(private),因此它返回 null。将方法更改为 public 应该可以。

PS:您可以使用 nameof 关键字来避免使用字符串文字来标识您的方法 typeof(Program).GetMethod(nameof(Program.Auth))

关于c# - 为什么 Azure WebJob JobHost.CallAsync 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55718227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com