我有一个由排队存储触发的webjob,并在收到新消息时进行web api调用。我在fiddler中测试了get请求并且它可以工作,但是当通过webjob中的httpclient getasync发出请求时,会出现500内部服务器错误。可以在webjob中调用web api吗?
答案 0 :(得分:0)
我在fiddler中测试了get请求并且它可以工作,但是当通过webjob中的httpclient getasync发出请求时,会出现500内部服务器错误。
据我所知,您的Web API服务器端会抛出500内部服务器错误。请尝试在Web API应用程序中使用try-catch包装代码,并找到详细错误。
可以在webjob中调用web api吗?
您可以在WebJob中发送http请求。这是我的代码示例,它可以在我和我的身边很好地工作,你可以参考它。
<强> Functions.cs 强>
// This function will get triggered/executed when a new message is written
// on an Azure Queue called queue.
public static async void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
{
log.WriteLine(message);
string requestUrl = "https://bruce-chen-001.azurewebsites.net/api/values";
HttpClient client = new HttpClient();
var response = await client.GetAsync(requestUrl);
log.WriteLine("response:{0}", await response.Content.ReadAsStringAsync());
}
<强>结果强>
response:["value1","value2"]