Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OutputCache如何添加访问计数?_C#_Asp.net Mvc_Outputcache_Action Filter - Fatal编程技术网

C# OutputCache如何添加访问计数?

C# OutputCache如何添加访问计数?,c#,asp.net-mvc,outputcache,action-filter,C#,Asp.net Mvc,Outputcache,Action Filter,我想添加每人请求操作的访问次数。 我的行动是: public async Task<ActionResult> Index() { // add visit count VisitCount(); return View(await db.Departments.ToListAsync()); } 并访问cont: public class VisitCoutFilter: ActionFilterAttribute { public overrid

我想添加每人请求操作的访问次数。 我的行动是:

public async Task<ActionResult> Index()
{
    // add visit count
    VisitCount();
    return View(await db.Departments.ToListAsync());
}
并访问cont:

public class VisitCoutFilter: ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        //do visit 
        // break ponit 
        base.OnActionExecuting(filterContext);
    }
}

好的,我了解您的问题和解决方案:

顺便说一下,
OutputCacheAttribute
有一些限制,并且存在一个 由Paul Hiles开发的名为 有助于克服这些限制


好的,我了解您的问题和解决方案:

顺便说一下,
OutputCacheAttribute
有一些限制,并且存在一个 由Paul Hiles开发的名为 有助于克服这些限制


问题是,
OutputCache
不会运行操作方法,因为它会缓存整个视图。它将从缓存中检索视图。所以,你必须问问自己,你到底想要实现什么。演出怎么用?通过减少往返数据库的次数

最小化数据库往返
  • 您可以缓存数据。如果您使用的是启用EnableObjectTracking的实体框架,那么默认情况下,数据将被缓存

  • 可以使用局部视图渲染数据,并仅缓存局部视图。这将利用数据缓存

  • 缩小对服务器的请求 1.如果要消除到web服务器的往返,可以在客户端缓存视图。但是,您需要使用javascript来处理其中的分析部分

     [OutputCache(Duration=100, VaryByParam="none", Location=OutputCacheLocation.Client, NoStore=true)]
        public ActionResult Index(){}
    

    问题是,
    OutputCache
    不会运行操作方法,因为它会缓存整个视图。它将从缓存中检索视图。所以,你必须问问自己,你到底想要实现什么。演出怎么用?通过减少往返数据库的次数

    最小化数据库往返
  • 您可以缓存数据。如果您使用的是启用EnableObjectTracking的实体框架,那么默认情况下,数据将被缓存

  • 可以使用局部视图渲染数据,并仅缓存局部视图。这将利用数据缓存

  • 缩小对服务器的请求 1.如果要消除到web服务器的往返,可以在客户端缓存视图。但是,您需要使用javascript来处理其中的分析部分

     [OutputCache(Duration=100, VaryByParam="none", Location=OutputCacheLocation.Client, NoStore=true)]
        public ActionResult Index(){}
    

    我这样做并将visitcount移动到其中。但不再运行@shahroz你需要改变方法。就像我写的一样,我需要为它添加OutputCache(Duration=30)。它只运行每个输出缓存Duration。我这样做并将visitcount移动到其中。但不会再次运行@shahroz你需要改变方法。就像我写的一样,我需要为它添加OutputCache(Duration=30)。它只在每个输出缓存持续时间内运行。