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();
                }

            }

  • 相关阅读:
    新概念第二册(1)--英语口语听力课1
    外企面试课程(一)---熟悉常见的缩略词
    公司 邮件 翻译 培训 长难句 结课
    workflow
    公司 邮件 翻译 培训 长难句 20
    公司 邮件 翻译 培训 长难句 19
    Engineering Management
    公司 邮件 翻译 培训 长难句 18
    公司 邮件 翻译 培训 长难句 17
    第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头
  • 原文地址:https://www.cnblogs.com/ahuang1118/p/172566.html
Copyright © 2011-2022 走看看