【Vegas原创】网站计数器(.net)

本文介绍如何使用 C# 和 VB.NET 在 ASP.NET 的 Session_Start 事件中记录网站访问计数,并将数据写入 SQL Server 数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# 版:

把下面的代码放到aspnet的Global.asax页面中然后重新编译以下项目

如果文件中有Session_Start(Object sender, EventArgs e)方法,只需要复制代码到该方法最顶部

 

         
protected void Session_Start(Object sender, EventArgs e)

         {

string strCon="Database=tmpCounter;uid=sa;pwd=*****;server=*****";

 

              
string server_name,url;

              url
=Request.ServerVariables["SCRIPT_NAME"].ToString();

              
string [] urlArray=url.Split('/');

              server_name
=Request.ServerVariables["SERVER_NAME"].ToString() + "/" + urlArray[1];

              Application.Lock();

 

              
if(Application["counter"]==null

                   Application[
"counter"]=1;

              
else

                   Application[
"counter"]=int.Parse(Application["counter"].ToString())+1;

 

 

              Application.UnLock();

              

     

              
string login_ip=Request.ServerVariables["REMOTE_ADDR"].ToString();

              
string insStr="insert tcounter(login_ip,server_name,counter) values('" + login_ip + "','" + server_name +"'," + Application["counter"+ ")";

              

              System.Data.SqlClient.SqlConnection db
=new System.Data.SqlClient.SqlConnection(strCon);

              db.Open();

              System.Data.SqlClient.SqlCommand sqlCom
=new System.Data.SqlClient.SqlCommand(insStr,db);

              sqlCom.ExecuteNonQuery();

              db.Close();

              sqlCom.Dispose();

         }



VB.net版:

    Sub Session_Start(ByVal sender As ObjectByVal e As EventArgs)
        
Dim strCon As String
        strCon 
= "Database=tmpCounter;uid=sa;pwd=****;server=*****"



        
Dim server_name As String
        
Dim url As String
        url 
= Request.ServerVariables("SCRIPT_NAME").ToString()
        
Dim urlArray As Array
        urlArray 
= url.Split("/")

        server_name 
= Request.ServerVariables("SERVER_NAME").ToString() & "/" & urlArray(1)

        Application.Lock()



        
If Application("counter"Is Nothing Then

            Application(
"counter"= 1

        
Else

            Application(
"counter"= Convert.ToInt32(Application("counter").ToString()) + 1
        
End If




        Application.UnLock()

        
Dim login_ip As String
        
Dim insStr As String
        login_ip 
= Request.ServerVariables("REMOTE_ADDR").ToString()

        insStr 
= "insert tcounter(login_ip,server_name,counter) values('" & login_ip & "','" & server_name & "'," & Application("counter"& ")"


        
Dim db As System.Data.SqlClient.SqlConnection
        db 
= New System.Data.SqlClient.SqlConnection(strCon)

        db.Open()
        
Dim sqlCom As System.Data.SqlClient.SqlCommand
        sqlCom 
= New System.Data.SqlClient.SqlCommand(insStr, db)

        sqlCom.ExecuteNonQuery()

        db.Close()

        sqlCom.Dispose()


        
' 在会话启动时激发
        'Session("out") = "2002/7/9"
        Session.Timeout = 60
        Session(
"username"= ""
        Session(
"usertype"= ""
        Session(
"operation"= "change"
        
'Session("oldpagecount") = 0

        Application(
"usercount"= Application("usercount"+ 1

    
End Sub

 

转载于:https://www.cnblogs.com/amadeuslee/archive/2007/03/16/3744661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值