Нужна помощь Получение HTML из Razor View в ASP.NET Core с фильтром результатов действий

Я слежу за статьей Стива Смита о том, как использовать фильтры в ASP.NET Core. В частности, я хочу получить HTML после того, как он был обработан механизмом просмотра бритвы. Я создал фильтр действий и украсил свой контроллер следующим образом, но все еще получаю пустую строку html из потока. Я думаю, что это как-то связано с использованием результата, а не контекста, но я не уверен. Вот мой код:

    [AppendToHtmlBodyFilter]
    public IActionResult Videos()
    {
        return View();
    }


    public void OnResultExecuted(ResultExecutedContext context)
    {
        Stream originalStream = context.HttpContext.Response.Body;
        using (MemoryStream newStream = new MemoryStream())
        {
            context.HttpContext.Response.Body = newStream;
            context.HttpContext.Response.Body = originalStream;
            newStream.Seek(0, SeekOrigin.Begin);
            StreamReader reader = new StreamReader(newStream);
            var htmlData = reader.ReadToEnd();
        }

0 ответов

Другие вопросы по тегам