源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

.net页面访问次数统计实现原理与代码

  • 时间:2022-05-14 16:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:.net页面访问次数统计实现原理与代码
数据库准备:建立一个表total里面数据项为totals类型为varchar 50 .net语言环境:C# [b]global.asax里的代码 [/b]
[u]复制代码[/u] 代码如下:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <script language="C#" runat="server"> string strSelect; SqlConnection conPubs; SqlDataAdapter dadPubs; DataSet dstTitles; DataRow drowTitle; void Session_Start(Object sender , EventArgs e) { if ( Application[ "SessionCount" ] == null ) {     Application[ "SessionCount" ] = 0;     strSelect = "SELECT totals From total";     conPubs = new SqlConnection(@"Server=localhost;Integrated Security=SSPI;Database=test");     dadPubs = new SqlDataAdapter(strSelect, conPubs);     dstTitles = new DataSet();     dadPubs.Fill(dstTitles, "total");     drowTitle = dstTitles.Tables["total"].Rows[0];     Application[ "SessionCount" ]=System.Convert.ToInt32(drowTitle["totals"].ToString().Trim()); } } void Session_End() {     Application["SessionCount"] = 0;   } </script>
[b]SessionCount.aspx里的代码 [/b]
[u]复制代码[/u] 代码如下:
void Page_Load(Object sender , EventArgs e) {     int total = 0;     string strSelect;     SqlConnection conPubs;     //要执行某项数据操作要用SqlCommand方式调用     SqlCommand cmdSql;     //为了防止同文档里的其他页面在访问时也进行累加运算     int intHits = 0;     intHits = (int)Application["SessionCount"];     intHits += 1;     Application["SessionCount"] = intHits;     lblSessionCount.Text = Application[ "SessionCount" ].ToString();     total = (int)Application["SessionCount"];     strSelect = "update total set totals= @total";     conPubs = new SqlConnection(@"Server=localhost;Integrated Security=SSPI;Database=test");     cmdSql = new SqlCommand(strSelect, conPubs);     cmdSql.Parameters.Add("@total", total);     conPubs.Open();     cmdSql.ExecuteNonQuery();     conPubs.Close(); }
上段代码有个小问题,就是过了一段时间后,Application["SessionCount"]的值会变成0,而且由于前面设置了一个初始的0,也会连带的把数据库里原来保存的值更新为0起始. 更改后 [b]global.asax [/b]
[u]复制代码[/u] 代码如下:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <script language="C#" runat="server"> string strSelect; SqlConnection conPubs; SqlDataAdapter dadPubs; DataSet dstTitles; DataRow drowTitle; void Session_Start(Object sender , EventArgs e) { if ( Application[ "SessionCount" ] == null ) {     Application[ "SessionCount" ] = 0;     strSelect = "SELECT totals From total";     conPubs = new SqlConnection(@"Server=localhost;Integrated Security=SSPI;Database=test");     dadPubs = new SqlDataAdapter(strSelect, conPubs);     dstTitles = new DataSet();     dadPubs.Fill(dstTitles, "total");     drowTitle = dstTitles.Tables["total"].Rows[0];     Application[ "SessionCount" ]=System.Convert.ToInt32(drowTitle["totals"].ToString().Trim()); } } void Session_End() {     Application["SessionCount"] = null;   } </script>
SessionCount.aspx
[u]复制代码[/u] 代码如下:
<script language="C#" runat="server"> void Page_Load(Object sender , EventArgs e) {     int total = 0;     string strSelect;     SqlConnection conPubs;     //要执行某项数据操作要用SqlCommand方式调用     SqlCommand cmdSql;     //为了防止同文档里的其他页面在访问时也进行累加运算     int intHits = 0;     intHits = (int)Application["SessionCount"];     intHits += 1;     total = intHits;     lblSessionCount.Text = intHits.ToString();      strSelect = "update total set totals= @total";     conPubs = new SqlConnection(@"Server=localhost;Integrated Security=SSPI;Database=test");     cmdSql = new SqlCommand(strSelect, conPubs);     cmdSql.Parameters.Add("@total", total);     conPubs.Open();     cmdSql.ExecuteNonQuery();     conPubs.Close();     Application["SessionCount"] = null; } </script>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部