惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

博客园 - LanceZhang

【招聘】招高级.Net研发工程师(上海-普陀) 测试 应对.NET Reflector过期的小技巧 不需编译让aspx页自主筛选数据绑定记录 也谈谈“加班”问题 共享一个封装Silverlight的WebPart 【开源】二手火车票监控程序 抢票快手 V1.0发布 【开源】Winform甘特日程控件GanttPlanner V1.0发布 移除txt文本中不必要的换行符 在MOSS2007中开发并部署自定义WebService SQL Server 中统计各用户表记录条数 的两种方法 代友招中高级.NET开发工程师【上海-徐汇】 在64位Windows系统上安装Toad和PLSQL Developer等Oracle客户端工具 又是一年生日到,哥老了。。。 文章目录:ASP.NET AJAX Advance Tips & Tricks 系列文章【共10篇】 Digg被黑了?No,呵呵 ASP.NET AJAX Advance Tips & Tricks (11) 三种方法动态创建Tooltip PPT:ASP.NET AJAX 性能优化 文章目录:使用VisualStudio 2010从分析到实施系列【共5+3篇】
一个简单的PV统计例子,演示如何利用内存缓冲高并发环境下的...
LanceZhang · 2010-07-13 · via 博客园 - LanceZhang

在cnblogs博问中回答问题http://space.cnblogs.com/q/15717/,特做了个小例子,希望能够帮助新手朋友们扩宽思路 

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title></title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
    当前临时列表中有 
<%=计数器.计数器实例.临时保存访问列表.Count %> 条记录等待着往数据库里插。
    
</div>
    
</form>
</body>
</html>

Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        计数器.计数器实例.临时保存访问列表.Add(Request.UserHostAddress);
    }
}

计数器.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Threading;
using System.Diagnostics;/// <summary>
///计数器 的摘要说明
/// </summary>
public class 计数器
{
    
public static readonly 计数器 计数器实例 = new 计数器();/// <summary>
    
/// 用来临时保存访问者的IP列表
    
/// </summary>
    public List<string> 临时保存访问列表;private 计数器()
    {
        临时保存访问列表 
= new List<string>();

        Thread 数据插入线程 

= new Thread(
            () 
=>
            {
                
while (true)
                {
                    
//1.把ipList中的数据一次性插入数据库;自己来根据情况实现
                    
//数据库.插入(临时保存访问列表);
                    Debug.Print("往数据库中插入了"+临时保存访问列表.Count().ToString()+"条记录");//2.插入完成后清空ipList
                    
//在并发太多的情况下要根据情况清空列表,以免丢失数据。
                    临时保存访问列表.Clear();//3.每隔10秒钟循环一次
                    Thread.Sleep(10000);
                }
            }
        );

        数据插入线程.Start();
    }
}