2010-05-14 2 views
0

각 요청을 웹 사이트에 저장하고 싶습니다. 일반적으로 다음 정보를 포함하고 싶습니다.HttpModule을 사용하여 웹 사이트에 대한 각 요청을 추적하십시오.

  1. 사용자 IP, 웹 사이트 url, user-if-exist, date-time.
  2. 응답 시간, 응답 성공 실패 상태입니다.

1과 2를 동일한 동작으로 수집하는 것이 합리적입니까? (같은 HttpModule 같은)?

기존 구조에 대해 알고 있으며 웹 사이트에 대한 모든 요청/응답 상태를 추적 할 수 있습니까?

SQL Server에 데이터를 기록해야합니다.

+1

http://blogs.msdn.com/carlosag/default.aspx – stacker

+1

이것은 serverfault에 속합니다. 질문은 "SQL Server에 로그를 게시하도록 IIS를 구성하는 방법"이어야합니다. – NotMe

+0

그러나 IIS는 분명히 로그를 요청한 사용자와 연결할 수 없습니다. – stacker

답변

0

웹 서버 로그를보십시오.

+0

데이터를 SQL Server에 로깅해야합니다. – stacker

+0

iis가 파일 시스템 대신 SQL Server에 로그를 게시하도록 구성 할 수 있습니다. – NotMe

0

IIS 기록은 어떻습니까? 그들은 이미 지금까지 나열한 모든 데이터 항목을 가지고 있습니다.

+0

더 나은 솔루션을 HttpModule하지 마십시오? 오류가 사용자에게 표시되지 않는 경우 IIS가 시합 오류를 어떻게 알 수 있습니까? 링크가 있습니까? – stacker

+0

아니요. 일부 요청은 ASP.NET 프로세스 (예 : 잘못된 URL (HTTP 404) 등)에 절대 도달하지 않습니다. 또한 응답은 항상 되돌려 보내집니다. 그것은 꽤 (쓸모없는) 화면 뒤에 브라우저에 의해 숨겨져 있을지도 모르지만, 로그에있을 것입니다. – mfeingold

0

BeginRequest 메서드에서 다음 코드를 작성해야합니다.

protected void Application_BeginRequest(object sender, EventArgs e) 
    { 
     //String s = HttpContext.Current.Request.Path; 
     //HttpContext.Current.RewritePath("Login.aspx"); 
     String referrer = HttpContext.Current.Request.UrlReferrer; 
     String sourceIP = HttpContext.Current.Request.UserHostAddress; 
     String browser = HttpContext.Current.Request.UserAgent; 
    } 
관련 문제