[英]ASP.NET MVC OutputCache inherited is not working
您好,我正在尝试使用OutputCache继承基本控制器。 但是它不起作用,我的代码:
BaseController
public abstract partial class BasicControllerController : Controller
{
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if (requestContext == null)
{
throw new ArgumentNullException("filterContext");
}
base.Initialize(requestContext);
}
}
控制者
[OutputCache(Duration=60)]
public class SamplesController : BasicControllerController
{
public ActionResult AgendamentoEmail()
{
return View();
}
}
视图
@System.DateTime.Now
但是只是不起作用。 仅当我没有继承或删除基本控制器下面的代码时,它才有效
public abstract partial class BasicControllerController : Controller
{
//protected override void Initialize(System.Web.Routing.RequestContext requestContext)
//{
// if (requestContext == null)
// {
// throw new ArgumentNullException("filterContext");
// }
// base.Initialize(requestContext);
//}
}
我想我必须在受保护的覆盖无效初始化中做一些实现。
详细信息:我需要此方法,因为有些变量使用其他控制器
我之前已经处理过这个问题,发现某些先前存在的属性不能被继承,因为它们是在声明中以这种方式设计的。
我发现的唯一方法是创建一个新属性,该属性扩展了要使用的属性,但将其标记为Inherited,就像这样:
[AttributeUsage (Inherited = True)]
public class InheritedOutputCacheAttribute : OutputCacheAttribute
{
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.