Как получить ссылку на объект HTTPResponse в функциях Azure? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть функция Azure v2 (и предварительного просмотра v3) (триггер HTTP), которая имеет такую ​​подпись:

public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", 
        Route = null)] HttpRequest req,
        ILogger log)

Я проверил документацию и попробую, как мог бы, я несмог найти любую ссылку на то, как я могу получить ссылку на объект HTTPResponse, как, например, в ASP.NET.

Я пытаюсь установить как пользовательский заголовок, так и пользовательский файл cookie. Похоже, что объект HTTPRequest не имеет доступа к чему-либо связанному с ответом.

Ответы [ 2 ]

1 голос
/ 26 октября 2019

используйте следующие примеры:

req.HttpContext.Response.Headers.Add("abcd", "12345");
req.HttpContext.Response.Cookies.Append("abcd", "12345");
0 голосов
/ 25 октября 2019

Если вы хотите установить пользовательский заголовок, вы можете обратиться к следующему коду:

public static class Function1
{
    [FunctionName("Function1")]
    public static HttpResponseMessage Run(
        [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");

        string testheader = req.Headers.GetValues("testheader").FirstOrDefault();
        string executionTime = DateTime.UtcNow.ToString();

        var httpresponse = req.CreateResponse(HttpStatusCode.OK, new
        {
            Testheader = testheader,
            ExecutionTime = executionTime
        }, "application/json");
        httpresponse.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
        httpresponse.Headers.Add("Warning", "custom header");
        return httpresponse;

    }
}

Этот код добавляет пользовательский заголовок warning со значением 299 - "Deprecated API" и изменяет заголовок content-type.

enter image description here

Надеюсь, это поможет вам, если у вас все еще есть другие проблемы, пожалуйста, дайте мне знать.

...