Всегда выводить определенный HTML? - PullRequest
0 голосов
/ 27 февраля 2012

У меня проблема с ASP .NET MVC. Я работаю над техникой, позволяющей восстановить сеанс после его смерти (истек). Чтобы этот метод работал, мне нужен способ записи ответа после вызова метода действия контроллера.

Какой подход будет лучшим? Для этого есть фильтр действий?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Если вы хотите использовать подход, основанный на атрибутах, производные от ActionFilterAttribute и переопределить либо OnActionExecuted (запуск после выполнения действия, но до выполнения результата), либо OnResultExecuted (запуск после выполнения результата, например, после вид был представлен).

Если вы не идете по пути атрибутов, реализуйте IActionFilter или IResultFilter и реализуйте методы, упомянутые выше.

Вы можете получить доступ к выходному модулю записи / вывода через filterContext.HttpContext.Response.Output или filterContext.HttpContext.Response.OutputStream соответственно.

0 голосов
/ 27 февраля 2012

Создайте фильтр, который будет выполняться после выполнения действия, например:

using System;

namespace Sample
{
    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
    public class SampleFilter : ActionFilterAttribute
    {
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {

            base.OnActionExecuted(filterContext);
        }
    }
}

Затем украсьте свои действия так:

[SampleFilter]
public virtual ActionResult Index()
{
    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...