zoukankan      html  css  js  c++  java
  • HTTPFilter 的例子

    using System;
    using System.Web;
    using System.Diagnostics;


    namespace HDI
    {
      public class HTTPFilter : IHttpModule
      {

        System.IO.StreamWriter fileWriter;
        HttpApplication applicationContext;
        EventHandler beginRequestEventHandler;
        String fileName;

        public void Init(HttpApplication context)
        {
          //Store file name for later use.
          fileName = context.Context.Request.PhysicalApplicationPath + "HTTPFilter.txt";

          //Open file and write information.
          fileWriter = new System.IO.StreamWriter(fileName, true);
          fileWriter.WriteLine(System.DateTime.Now.ToString("MM.dd.yyyy HH:mm:ss:ffffff"));
          fileWriter.WriteLine("Init");
          fileWriter.Flush();
          fileWriter.Close();

          context.Error += (new EventHandler(this.Application_err));

                 


          //Store for access in other events.
          applicationContext = context;
          beginRequestEventHandler = new System.EventHandler(this.OnBeginRequest);
          applicationContext.BeginRequest += beginRequestEventHandler;
        }

        public void Dispose()
        {

          //Open file and write information.
          fileWriter = new System.IO.StreamWriter(fileName, true);
          fileWriter.WriteLine(System.DateTime.Now.ToString("MM.dd.yyyy HH:mm:ss:ffffff"));
          fileWriter.WriteLine("Dispose");
          fileWriter.Flush();
          fileWriter.Close();

          //Clean-up.
          applicationContext.BeginRequest -= beginRequestEventHandler;
          beginRequestEventHandler = null;
        }

          protected void OnBeginRequest(object sender, EventArgs e)
          {
              //Open file and write information.
              fileWriter = new System.IO.StreamWriter(fileName, true);
              fileWriter.WriteLine(System.DateTime.Now.ToString("MM.dd.yyyy HH:mm:ss:ffffff"));
              fileWriter.WriteLine("OnBeginRequest");
              fileWriter.WriteLine(applicationContext.Context.Request.UserAgent);
              fileWriter.WriteLine(applicationContext.Context.Request.UserHostAddress);
              fileWriter.WriteLine(applicationContext.Context.Request.Url.ToString());
              fileWriter.Flush();
              fileWriter.Close();
          }

          protected void Application_err(object sender, EventArgs e)
          {
              //Open file and write information.
              fileWriter = new System.IO.StreamWriter(fileName, true);
              fileWriter.WriteLine(System.DateTime.Now.ToString("MM.dd.yyyy HH:mm:ss:ffffff"));
              fileWriter.WriteLine( applicationContext.Context.Error.Message+applicationContext.Context.AllErrors.ToString());

    //Context.Server.GetLastError()
              fileWriter.Flush();
              fileWriter.Close();
          }

      }
    }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    Python机器学习笔记:使用sklearn做特征工程和数据挖掘
    Python numpy中矩阵的用法总结
    Python机器学习笔记:K-近邻(KNN)算法
    Python机器学习笔记:Logistic Regression
    python机器学习笔记:ID3决策树算法实战
    Mysql 多表查询详解
    JavaScript cookie操作实现点赞功能
    js操作cookie
    【IntelliJ IDEA】idea上提交代码到GitHub,已经提交了 但是GitHub上却没有的解决办法
    Mybatis分页插件PageHelper的配置和使用方法
  • 原文地址:https://www.cnblogs.com/starcrm/p/1344955.html
Copyright © 2011-2022 走看看