如何为MVC网站中的每个页面创建一个点击计数器(访问者计数器)? 并将信息存储在MS SQL数据库中。与每页上使用的stackoverflow相同。
请给我举个例子。谢谢你
答案 0 :(得分:1)
在您的母版页中插入一个函数调用,记录页面名称或您想要的任何其他详细信息。运行你的计数,然后你去。
答案 1 :(得分:1)
我能够使用Session变量,ASP.NET MVC中的sql server db。
注意:我使用会话变量而不是存储客户端IP地址。由于保存所有客户端地址将溢出您的数据库。这类似于显示右上角每个问题的Stackoverflow页面查看属性。
这就是我的工作方式。
每当用户在您的网站中打开特定网页时,计数器会递增,更新的计数将在sql server数据库(可能是任何其他数据库)表中更新。 如果同一用户在同一会话中再次访问同一网页,则不会计数器。这意味着如果用户在同一会话中多次刷新网页,计数器将不会递增,因为它是该用户的单次访问。 如果同一访问者关闭了他的会话(比如他关闭浏览器)并重新打开同一个网页,则计数器将作为单独访问而递增。 以下是我实施它的步骤。
拥有一个在每个Action方法之前自动调用的方法。 在此方法中,如果尚未完成会话,则启动会话并检查用户是否已访问过此页面。 现在,相应地更新计数器变量,并在需要时将计数保存到db。 这是我遵循的完整程序。希望它有所帮助。
来源:Count number of visitors of a page in asp.net mvc (HIT counter)