我从quickstart guide创建了基本的Azure功能。根据教程,这个默认函数应该可以立即生效,但是我收到错误。
功能正文:
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = name ?? data?.name;
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
错误讯息:
函数($ HttpTriggerCSharp1)错误:Microsoft.Azure.WebJobs.Host:错误索引方法&#39; Functions.HttpTriggerCSharp1&#39;。 Microsoft.Azure.WebJobs.Host:无法绑定参数&#39; _return&#39;键入HttpResponseMessage&amp ;.确保绑定支持参数Type。如果您正在使用绑定扩展(例如ServiceBus,Timers等),请确保您已在启动代码中调用扩展的注册方法(例如config.UseServiceBus(),config.UseTimers ()等。)。
答案 0 :(得分:4)
您现在可以通过将响应输出绑定的名称从$return
更改为res
来解决此问题。前者将在我们的下一个版本中很快发挥作用,但还没有。看起来我们推出了一个功能模板更新太早了 - 我在我们的回购中为此问题创建了一个错误here。谢谢:))