我们可以在Azure函数v2中运行的Entry函数中使用HttpRequestMessage代替HttpRequest类吗?

时间:2019-02-02 17:18:48

标签: azure-functions azure-functions-core-tools

我正在.net core 2.0中创建v2 azure函数,以托管在Linux平台中。 当我在Visual Studio中创建新的Azure函数时,Run函数的req参数是HttpRequest。 我可以将它发送到HttpRequestMessage吗?我想轻松阅读授权标头。

2 个答案:

答案 0 :(得分:2)

Azure Functions 2.x的HttpTrigger可以识别HttpRequestMessage,因此将其替换为HttpRequest应该不会有任何问题。 (不过,每个类都公开Authorization标头。)

答案 1 :(得分:0)

在我安装的版本- Visual Studio 15.9.6 -带有Microsoft.NET.Sdk.Functions 1.0.14 的情况下,默认模板甚至建议使用HttpRequestMessage。 / p>

通过这个简单的版本,我可以访问并记录授权标头:

    [FunctionName("Function1")]
    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
    {
        log.Info("C# HTTP trigger function processed a request.");

        log.Info(req.Headers.Authorization.ToString());
相关问题