2017-06-12 72 views
3

我已经在C#中设置了一个非常简单的Azure函数来响应HttpTrigger。当我在Microsoft Azure instructions之后的本地运行该功能时,我回来的是一个空的404响应。当我在本地运行Azure功能时,为什么会得到404?

我使用Visual Studio 2017 v15.3 Preview并安装了Azure Function Tools扩展。这是我的Azure的功能代码:

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

当我在本地运行(通过右键单击VS项目中去调试>启动新的实例),它似乎发动就好了。我的功能被识别并且给出的URL是http://localhost:7071/api/Func1

但是,当我GET或POST到上述URL(将Content-Type头设置为“application/json”)时,我得到一个空的404响应。在Azure功能CLI控制台输出:

[2017年6月12日下午十二时26分12秒]执行HTTP请求:{

[2017年6月12日下午十二时26分12秒]“的requestId “: “ae247ea6-c055-40f5-a09c-40ea207cc785”,

[2017年6月12日下午12点26分12秒] “方法”: “GET”,

[2017年6月12日12 :26:12 PM]“uri”:“/ api/Func1”

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

[2017年6月12日下午12点26分12秒]执行的HTTP请求:{

[2017年6月12日下午12点26分12秒] “的requestId”:“ae247ea6-c055-40f5-a09c -40ea207cc785" ,

[2017年6月12日下午12时26分12秒] “方法”: “GET”,

[2017年6月12日下午12时26分12秒] “URI”: “/ API/FUNC1”,

[2017年6月12日下午12点26分12秒] “authorizationLevel”: “匿名”

[2017年6月12日下午12点26分12秒]}

[2017年6月12日下午12点26分十二秒]响应细节:{

[2017年6月12日下午12点26分十二秒] “的requestId”:“ae247ea6-c055-40f5-a09c -40ea207cc785" ,

[2017年6月12日下午12时26分12秒] “状态”: “NOTFOUND”

[2017年6月12日下午12时26分12秒]}

为什么我会得到404以及如何解决这个问题?

回答

4

您需要指定methods参数,例如,

[HttpTrigger(AuthorizationLevel.Anonymous, "GET")] 
相关问题