public class CheckExeTime : IHttpModule
{
public string ModuleName // Module Name Define
{
get { return "CheckTime"; }
}
private DateTime startTime;
public void Init(HttpApplication application) // IhttpModule 인터페이스 구현
{
application.BeginRequest += new EventHandler(application_BeginRequest);
application.EndRequest += new EventHandler(application_EndRequest);
}
public void Dispose() // IhttpModule 인터페이스 구현
{
}
public void application_BeginRequest(object source, EventArgs e)
{
startTime = DateTime.Now; // 요청 시간 Check
}
public void application_EndRequest(object source, EventArgs e)
{
//현재의 HttpApplication 개체를 얻어온다
HttpApplication app = (HttpApplication)source;
//현재 웹 어플리케이션의 컨텍스트를 얻어온다
HttpContext context = app.Context;
string pageID = context.Request.CurrentExecutionFilePath.ToString(); // 요청한 PageID (*.aspx)
string requestIP = context.Request.UserHostAddress; // 요청한 Client IP
TimeSpan span = DateTime.Now - startTime;
// TO DO : 출력형식을 자유롭게 코딩하면 됨(텍스트파일로 쓰기 / DB에 저장)
context.Response.Write("<script type='text/xxjavascript'>window.status = 'Page Loading Time : " + span.TotalSeconds.ToString() + " sec';</script>");
}
}
첫댓글 좋은 정보 감사합니다.~ ^^;
좋은 정보 감사합니다.~ ^^;