我想获得ASP.Net MVC中页面的访问者数量。 你知道我该怎么办?
答案 0 :(得分:2)
您需要在数据库中存储一些信息:
访客IP地址,访问网址(表示用户/访客访问过的网页)
为每个页面创建一个函数,并根据您的数据库列访问URL和IP地址显示您的总计数。
类似(下方)的内容只会跟踪页面访问者的数量,但如果您想要唯一访问,则可以扩展此选项:
void Session_Start(object sender, EventArgs e)
{
// More secure than storing it application variables(does not rest on application start
SqlConnection con = null;
SqlCommand cmd = null;
try
{
con = new SqlConnection();
con.ConnectionString = "your connection string";
cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandText = "Update tbl_users Set no_of_users=no_of_users+1";
cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (con.State.Equals(ConnectionState.Open)) con.Close();
}
}
或者,您可以调用存储过程来增加访问次数。
答案 1 :(得分:2)
您始终可以使用Google Analytics:http://www.google.com/analytics/
答案 2 :(得分:2)
我能够使用ASP.NET MVC中的Session变量,sql server db来实现这一点。
注意:我使用会话变量而不是存储客户端IP地址。由于保存所有客户端地址将溢出您的数据库。这类似于显示右上角每个问题的Stackoverflow页面查看属性。
这就是我的工作方式。
以下是我实施它的步骤。
这是我遵循的完整程序。希望它有所帮助。
来源:Count number of visitors of a page in asp.net mvc (HIT counter)
答案 3 :(得分:1)
我会使用像AWStats http://awstats.sourceforge.net/
这样的工具计算唯一身份访问者很难,因为您无法准确识别唯一身份访问者。你只能猜测(IP,Cookies,UserAgend等)。
计算访客可以通过计算会话的开始来完成。但是,如果你的访客不接受甚至温度。饼干,你会过多地计算访客。