Нужна помощь Получение 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();
}