void Application_Start(object sender, EventArgs e)
    {
        //在应用程序启动时运行的代码
        int count=0;
        System.IO.StreamReader srd;
        string filepath = Server.MapPath("counter.txt");
        srd = System.IO.File.OpenText(filepath);
        while (srd.Peek() != -1)
        {
            string str = srd.ReadLine();
            count = int.Parse(str);
           
        }
        srd.Close();
        object obj = count;
        Application["counter"] = obj;

}
   
    void Application_End(object sender, EventArgs e)
    {
        //在应用程序关闭时运行的代码
        int stat = 0;
        stat = (int)Application["counter"];
        string filepath = Server.MapPath("counter.txt");
        System.IO.StreamWriter srw = new System.IO.StreamWriter(filepath, false);
        srw.WriteLine(stat);
        srw.Close();

}
       
    void Application_Error(object sender, EventArgs e)
    {
        //在出现未处理的错误时运行的代码

}

void Session_Start(object sender, EventArgs e)
    {
        //在新会话启动时运行的代码
        Application.Lock();
        int stat = 0;
        //获取Applicat对象中保存的网站总访问量
        stat = (int)Application["counter"];
        stat += 1;
        object obj = stat;
        Application["counter"] = obj;
        string filepath = Server.MapPath("counter.txt");
        System.IO.StreamWriter srw = new System.IO.StreamWriter(filepath, false);
        srw.WriteLine(stat);
        srw.Close();
        Application.UnLock();
    }

void Session_End(object sender, EventArgs e)
    {
        //在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式
        //设置为 StateServer 或 SQLServer,则不会引发该事件。

}

出错: string filepath = Server.MapPath("counter.txt");

未找到引用对象实例,找不路径counter.txt

解决:Server.MapPath读取出来的路径是带有\\的,一开始我以为是需要把路径转义

最后发现,是本地创建的counter.txt是隐藏了后缀名的,也就是本地实际创建的文件时counter.txt.txt于是报错

《ASP.NET1200例》统计网站访问量源代码的更多相关文章

  1. js实现精确统计网站访问量的代码分享

    JS 精确统计网站访问量. 代码如下: /** * vlstat 浏览器统计脚本 */ var statIdName = "vlstatId"; var xmlHttp; /** ...

  2. 统计网站访问量,以GD2库图像形式输出

    index.php页面<?php session_start(); if($_SESSION[temp]==""){ //判断$_SESSION[temp]=="& ...

  3. asp.net 在线人数统计\页面访问量

    1.新建网站,添加几个窗体.webForm1.aspx ,ViewStateForm.aspx 2.在网站的根目录下添加全局应用程序类“Global.aspx” .(重要) 3.在“Global.as ...

  4. 《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”

    VS2005下,添加了母版页这个控件,我们可以讲N个页面中共同的部分放在母版页来实现,并让WEB窗体集成自我们的母版页,就可以让我们的站点具有统一的风格了.在VS2005SP1之前的版本中,我们只能创 ...

  5. 《ASP.NET1200例》实现投票的用户控件

    用户控件ascx <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="24 ...

  6. 《ASP.NET1200例》高亮显示ListView中的数据行并自动切换图片

    aspx <script type="text/javascript"> var oldColor; function SetNewColor(Source) { ol ...

  7. 《ASP.NET1200例》ListView控件之修改,删除与添加

    aspx <body> <form id="form1" runat="server"> <div> <asp:Lis ...

  8. 《ASP.NET1200例》ListView 控件与DataPager控件的结合<二>

    ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示 为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己 ...

  9. 《ASP.NET1200例》ListView 控件与DataPager控件的结合<一>

    分页     在前一部分开始时介绍的原 HTML 设计中内含分页和排序,所以根据规范完整实现该网格的任务尚未完成.我们先分页,然后再排序. ListView 控件中的分页通过引入另一个新控件 Data ...

随机推荐

  1. MVC2 Area实现网站多级目录

    Areas是ASP.NET Mvc 2.0版本中引入的众多新特性之一,它可以帮你把一个较大型的Web项目分成若干组成部分,即Area.实现Area的功能可以有两个组织形式: 在1个ASP.NET Mv ...

  2. js中的with语句

    javascript中的with语句是什么?       with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象.   看起来 ...

  3. publish_subscribe

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  4. Java基础-代理

    我们书写执行一个功能的函数时,经常需要在其中写入与功能不是直接相关但很有必要的代 码,如日志记录,信息发送,安全和事务支持等,这些枝节性代码虽然是必要的,但它会带 来以下麻烦: 枝节性代码游离在功能性 ...

  5. 【URAL 1917】Titan Ruins: Deadly Accuracy(DP)

    题目 #include<cstdio> #include<algorithm> using namespace std; #define N 1005 int n, m, cn ...

  6. tp三大自动

    ThinkPHP三大自动 (2012-03-21 10:48:56) 转载▼ 标签: thinkphp 三大自动 自动验证 自动完成 自动填充 自动映射 字段映射 杂谈 分类: php 一.自动验证 ...

  7. Unity Shaders Vertex & Fragment Shader入门

    http://blog.csdn.net/candycat1992/article/details/40212735 三个月以前,在一篇讲卡通风格的Shader的最后,我们说到在Surface Sha ...

  8. bootstrap-select搜索框输入中文

    bootstrap-select 的搜索框无法输入中文,解决办法: 删除源码中这两行代码 that.$lis.not('.hidden, .divider, .dropdown-header').eq ...

  9. logback 常用配置详解(二)

    <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appende ...

  10. seajs之seajs-debug坑

    最近遇到两个关于seajs-debug的坑 一个与preload有关,详情见https://github.com/seajs/seajs-debug/issues/15 一个与map时间戳有关,详情见 ...