При одновременном выполнении нескольких запросов asp.net загрузка изображений может быть очень медленной (несколько секунд). Одним из способов решения этой проблемы является установка SessionStateBehaviour на «ReadOnly» в начале контроллера, используя код ниже. Есть ли способ сделать это до того, как метод будет запущен, чтобы я мог на основе метода определить, хочу ли я, чтобы состояние сеанса было только для чтения или нет?
Это помещено перед контроллером и работает, однако я хочу больше гранулярности.
[HttpContext.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.ReadOnly)]
Я попытался создать свой собственный атрибут, используя этот код
public class SetSessionReadOnlyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.ReadOnly);
}
}
Я получаю сообщение: HttpContext.SetSessionStateBehavior 'может быть вызвано только до возникновения события' HttpApplication.AcquireRequestState '.'
Означает ли это, что нет способа сделать это для каждого отдельного метода?