Azure功能:无法绑定参数' _return'输入HttpResponseMessage

时间:2016-11-14 14:06:21

标签: c# http azure azure-functions

我从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 ()等。)。

1 个答案:

答案 0 :(得分:4)

您现在可以通过将响应输出绑定的名称从$return更改为res来解决此问题。前者将在我们的下一个版本中很快发挥作用,但还没有。看起来我们推出了一个功能模板更新太早了 - 我在我们的回购中为此问题创建了一个错误here。谢谢:))