【发布时间】:2019-02-25 02:28:35
【问题描述】:
我有一个 Azure Function 2.x,它驻留在一个看起来像这样的静态类中
[FunctionName("Register")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post")]HttpRequest req, ILogger log)
{
MyTypeClass defReturn = new MyTypeClass();
HttpStatusCode defCode = HttpStatusCode.BadRequest;
/*
* Logics that might or might not changes
* defReturn and defCode value
*/
return StatusCode((int) defCode, JsonConvert.SerializeObject(defReturn))
}
如何实现return StatusCode((int) defCode, JsonConvert.SerializeObject(defReturn)) 部分? Azure Functions 2.x 中是否有任何此类方法或等效方法?
在 Azure Functions 1.x 中,我可以使用 req.CreateResponse(defCode, defReturn) 进行等效操作,其中 req 是 HttpRequestMessage,但我试图坚持使用 2.x 模板/标准
附加说明:上述代码应返回HTTP 400 Bad Request 和defReturn 作为它对客户端的响应正文。但是当我将defCode 更改为HttpStatusCode.Accepted 时,它应该返回具有相同响应正文的HTTP 202 Accepted。我怎样才能做到这一点?
补充说明#2:(如果我没记错的话)在 ASP.NET Core 1.x 中我完全可以这样做,通过调用静态方法 StatusCode 而不是 StatusCodes(这是一个静态类)返回 IActionResult包含 HTTP 代码常量
谢谢
【问题讨论】:
标签: c# azure azure-functions asp.net-core-2.1