当我在本地运行Azure功能时,为什么会得到404?

uri*_*rig 5 azure azure-functions

我在C#中设置了一个非常简单的Azure函数来响应HttpTrigger.当我按照Microsoft Azure指令在本地运行该函数时,我所回复的只是一个空404响应.

我正在使用安装了Azure功能工具扩展的Visual Studio 2017 v15.3预览版.这是我的Azure功能的代码:

[FunctionName("Func1")]        
public static async Task<object> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, WebHookType = "genericJson")]
    HttpRequestMessage req, 
    TraceWriter log)
{
    return req.CreateResponse(HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

当我在本地运行它时(通过右键单击VS项目并进入Debug> Start new instance)它似乎启动就好了.我的功能被识别,给出的URL是http:// localhost:7071/api/Func1

但是,当我获取或POST到上面的URL(Content-Type标头设置为"application/json")时,我得到一个空的404响应.Azure Functions CLI控制台输出:

[6/12/2017 12:26:12 PM]执行HTTP请求:{

[6/12/2017 12:26:12 PM]"requestId":"ae247ea6-c055-40f5-a09c-40ea207cc785",

[6/12/2017 12:26:12 PM]"方法":"GET",

[6/12/2017 12:26:12 PM]"uri":"/ api/Func1"

[6/12/2017 12:26:12 PM]}

[6/12/2017 12:26:12 PM]执行HTTP请求:{

[6/12/2017 12:26:12 PM]"requestId":"ae247ea6-c055-40f5-a09c-40ea207cc785",

[6/12/2017 12:26:12 PM]"方法":"GET",

[6/12/2017 12:26:12 PM]"uri":"/ api/Func1",

[6/12/2017 12:26:12 PM]"authorizationLevel":"匿名"

[6/12/2017 12:26:12 PM]}

[6/12/2017 12:26:12 PM]回复详情:{

[6/12/2017 12:26:12 PM]"requestId":"ae247ea6-c055-40f5-a09c-40ea207cc785",

[6/12/2017 12:26:12 PM]"状态":"NotFound"

[6/12/2017 12:26:12 PM]}

为什么我得到404,我该如何解决这个问题?

Mik*_*kov 8

您需要指定methods参数,例如

[HttpTrigger(AuthorizationLevel.Anonymous, "GET")]
Run Code Online (Sandbox Code Playgroud)