zoukankan      html  css  js  c++  java
  • 如何实现计数器

    Global.asax.cs文件中的分别输入以下代码:
    protected void Application_Start(Object sender, EventArgs e)
            
    {
                SqlConnection con;
                SqlCommand cmd;

                
    // Get the connection string from the existing key in Web.config
                con = new SqlConnection(ConfigurationSettings.AppSettings["cnFriends.ConnectionString"]);
                cmd 
    = new SqlCommand("SELECT Visitors FROM Counter", con);
                con.Open();
        
    protected void Session_Start(Object sender, EventArgs e)
            
    {
                Application.Lock();
                Application[
    "counter"= ((int)Application["counter"]) + 1;
                Application.UnLock();
            }

                
    try 
                
    {
                    
    // Retrieve the counter
                    Application["counter"= (int) cmd.ExecuteScalar();
                }

                
    finally 
                
    {
                    con.Close();
                }

            }

            
    protected void Application_AuthenticateRequest(Object sender, EventArgs e)
            
    {
                
    // Cast the sender to the application
                HttpApplication app = (HttpApplication)sender;

                
    // Only replace the context if it has already been handled
                
    // by forms authentication module (user is authenticated)
                if (app.Request.IsAuthenticated)
                
    {
                    SqlConnection con;
                    
    string sql;
                    SqlCommand cmd;

                    
    string id = Context.User.Identity.Name;

                    con 
    = new SqlConnection(ConfigurationSettings.AppSettings["cnFriends.ConnectionString"]);
                    sql 
    = "SELECT IsAdministrator FROM [User] WHERE UserId='{0}'";
                    sql 
    = String.Format(sql, id);
                    cmd 
    = new SqlCommand(sql, con);
                    con.Open();

                    
    // Ensure closing the connection
                    try
                    
    {
                        
    object admin = cmd.ExecuteScalar();

                        
    // Was it a valid UserID?
                        if (admin != null)
                        
    {
                            GenericPrincipal ppal;
                            
    string[] roles;

                            
    // If IsAdministrator field is true, add both roles
                            if (((bool)admin) == true)
                            
    {
                                roles 
    = new string[] {"User""Admin"};
                            }
     
                            
    else 
                            
    {
                                roles 
    = new string[] {"User"};
                            }


                            ppal 
    = new GenericPrincipal(Context.User.Identity, roles);
                            Context.User 
    = ppal;
                        }
     
                        
    else 
                        
    {
                            
    // If UserID was invalid, clear the context so he logs on again
                            Context.User = null;
                        }

                    }
     
                    
    catch 
                    
    {
                        
    throw;
                    }
     
                    
    finally 
                    
    {
                        con.Close();
                    }

                }


            }

            
    protected void Application_End(Object sender, EventArgs e)
            
    {
                SqlConnection con;
                SqlCommand cmd;

                
    // Get the connection string from the existing key in Web.config
                con = new SqlConnection(ConfigurationSettings.AppSettings["cnFriends.ConnectionString"]);
                cmd 
    = new SqlCommand("UPDATE Counter SET Visitors=" + Application["counter"].ToString(), con);
                con.Open();

                
    try 
                
    {
                    cmd.ExecuteNonQuery();
                }

                
    finally 
                
    {
                    con.Close();
                }

            }

  • 相关阅读:
    寒假作业(二)
    关于寒假的自学计划
    关于Markdown格式转PDF格式
    关于‘1001.A+B Format (20)’的解题报告
    第一次撰写博客——一切的一切才刚刚开始
    第八章 Django框架——ORM介绍之多表操作
    第七章 Django框架——ORM介绍之单表操作
    第六章 Django框架——ORM介绍之创建表
    第五章 Django框架——模板层Templates
    第四章 Django框架——视图层views
  • 原文地址:https://www.cnblogs.com/ahuang1118/p/172566.html
Copyright © 2011-2022 走看看