访问日志中的浏览和访问信息
2015-10-06 14:42:46 访问(5003) 赞(0) 踩(0)
-
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace SlowX.Core.Classes.LogClasses
{
/// <summary>
/// 浏览器信息
/// </summary>
[Serializable]
public class BrowserInfoClass
{
/// <summary>
/// 浏览器的信息
/// </summary>
public BrowserInfoClass()
{
}
/// <summary>
/// SessionID
/// </summary>
protected string m_SessionID = null;
/// <summary>
/// SessionID
/// </summary>
public string SessionID
{
get
{
return m_SessionID;
}
set
{
m_SessionID = value;
}
}
/// <summary>
/// 访问页面
/// </summary>
protected string m_VisitWeb = null;
/// <summary>
/// 访问页面
/// </summary>
public string VisitWeb
{
get
{
return m_VisitWeb;
}
set
{
m_VisitWeb = value;
}
}
/// <summary>
/// 来源地址
/// </summary>
protected string m_UrlReferrer = null;
/// <summary>
/// 来源地址
/// </summary>
public string UrlReferrer
{
get
{
return m_UrlReferrer;
}
set
{
m_UrlReferrer = value;
}
}
/// <summary>
/// 来源IP
/// </summary>
protected string m_FromIP = null;
/// <summary>
/// 来源IP
/// </summary>
public string FromIP
{
get
{
return m_FromIP;
}
set
{
m_FromIP = value;
}
}
/// <summary>
/// 浏览器信息
/// </summary>
protected string m_BrowserInfo = null;
/// <summary>
/// 浏览器信息
/// </summary>
public string BrowserInfo
{
get
{
return m_BrowserInfo;
}
set
{
m_BrowserInfo = value;
}
}
/// <summary>
/// 浏览器版本
/// </summary>
protected string m_BrowserVersion = null;
/// <summary>
/// 浏览器版本
/// </summary>
public string BrowserVersion
{
get
{
return m_BrowserVersion;
}
set
{
m_BrowserVersion = value;
}
}
/// <summary>
/// 语言
/// </summary>
protected string m_ClientLanguage = null;
/// <summary>
/// 语言
/// </summary>
public string ClientLanguage
{
get
{
return m_ClientLanguage;
}
set
{
m_ClientLanguage = value;
}
}
/// <summary>
/// 操作系统
/// </summary>
protected string m_Platform = null;
/// <summary>
/// 操作系统
/// </summary>
public string Platform
{
get
{
return m_Platform;
}
set
{
m_Platform = value;
}
}
/// <summary>
/// 获得浏览器信息
/// </summary>
/// <returns></returns>
public static BrowserInfoClass GetBrowserInfoClass()
{
HttpContext hc = HttpContext.Current;
if (hc == null)
return null;
if (hc.Request == null)
return null;
HttpBrowserCapabilities HBC = hc.Request.Browser;
BrowserInfoClass theResult = new BrowserInfoClass();
try
{
if (HBC == null)
{
theResult.Platform = "-";
theResult.BrowserInfo = "-";
theResult.BrowserVersion = "-";
}
else
{
theResult.Platform = HBC.Platform;
theResult.BrowserInfo = HBC.Browser;
theResult.BrowserVersion = HBC.Version;
}
theResult.ClientLanguage = hc.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"];
theResult.FromIP = hc.Request.ServerVariables["REMOTE_ADDR"];
theResult.SessionID = GetSessionID(hc);
theResult.UrlReferrer = GetUrlReferrer(hc);
theResult.VisitWeb = GetAbsoluteUri(hc);
try
{
string xFromIP = hc.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (xFromIP != null && xFromIP.Length > 0)
{
theResult.FromIP = xFromIP;
}
}
catch
{
}
}
catch
{
return null;
}
return theResult;
}
/// <summary>
/// 获得浏览器信息
/// </summary>
/// <returns></returns>
public static BrowserInfoClass GetBrowserInfoClass(HttpContext hc)
{
if (hc == null)
return null;
if (hc.Request == null)
return null;
HttpBrowserCapabilities HBC = hc.Request.Browser;
BrowserInfoClass theResult = new BrowserInfoClass();
try
{
if (HBC == null)
{
theResult.Platform = "-";
theResult.BrowserInfo = "-";
theResult.BrowserVersion = "-";
}
else
{
theResult.Platform = HBC.Platform;
theResult.BrowserInfo = HBC.Browser;
theResult.BrowserVersion = HBC.Version;
}
theResult.ClientLanguage = hc.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"];
theResult.FromIP = hc.Request.ServerVariables["REMOTE_ADDR"];
theResult.SessionID = GetSessionID(hc);
theResult.UrlReferrer = GetUrlReferrer(hc);
theResult.VisitWeb = GetAbsoluteUri(hc);
try
{
string xFromIP = hc.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (xFromIP != null && xFromIP.Length > 0)
{
theResult.FromIP = xFromIP;
}
}
catch
{
}
}
catch
{
return null;
}
return theResult;
}
#region
/// <summary>
/// 完整URL地址
/// </summary>
/// <returns></returns>
protected static string GetAbsoluteUri()
{
if (HttpContext.Current == null
|| HttpContext.Current.Request == null
|| HttpContext.Current.Request.Url == null)
return "未知";
return HttpContext.Current.Request.Url.AbsoluteUri;
}
/// <summary>
/// 完整URL地址
/// </summary>
/// <param name="hc"></param>
/// <returns></returns>
protected static string GetAbsoluteUri(HttpContext hc)
{
if (hc == null || hc.Request == null || hc.Request.Url == null)
return "未知";
return hc.Request.Url.AbsoluteUri;
}
/// <summary>
/// 获得上一来源地址
/// </summary>
/// <returns></returns>
protected static string GetUrlReferrer()
{
if (HttpContext.Current == null || HttpContext.Current.Request == null)
return "未知";
if (HttpContext.Current.Request.UrlReferrer == null)
return "";
return HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
}
/// <summary>
/// 获得上一来源地址
/// </summary>
/// <param name="hc"></param>
/// <returns></returns>
protected static string GetUrlReferrer(HttpContext hc)
{
if (hc == null || hc.Request == null)
return "未知";
if (hc.Request.UrlReferrer == null)
return "";
return hc.Request.UrlReferrer.AbsoluteUri;
}
/// <summary>
/// 获得 SessionID
/// </summary>
/// <returns></returns>
protected static string GetSessionID()
{
if (HttpContext.Current == null
|| HttpContext.Current.Session == null)
return "未知";
return HttpContext.Current.Session.SessionID;
}
/// <summary>
/// 获得 SessionID
/// </summary>
/// <param name="hc"></param>
/// <returns></returns>
protected static string GetSessionID(HttpContext hc)
{
if (hc == null
|| hc.Session == null)
return "未知";
return hc.Session.SessionID;
}
#endregion
}
}
-
/// <summary>
/// 写入访问日志
/// </summary>
/// <param name="xdbHelper">数据库链接串</param>
public void InsertLogVisit(DBHelper xdbHelper)
{
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
SlowX.WebItemLib.Business.UTB_SLOWX_LOG_VISIT
bll
=
Business.UTB_SLOWX_LOG_VISIT.instance;
SlowX.WebItemLib.Entity.UTB_SLOWX_LOG_VISIT
entity
=
new Entity.UTB_SLOWX_LOG_VISIT();
ISaveDriver isave = entity;
BrowserInfoClass info = CommonSlowXWebItemLibFunctions.GetBrowserInfoClass();
string ipAddress = null;
if (info == null)
{
string ip = BasicSlowXCoreFunctions.GetIp();
ipAddress = GetIPAddress(ip, xdbHelper);
isave.AddISaveItem(entity._FromIP, ip);
isave.AddISaveItem(entity._VisitWeb, BasicSlowXCoreFunctions.GetAbsoluteUri());
isave.AddISaveItem(entity._IPAddress, ipAddress);
isave.AddISaveItem(entity._UrlReferrer, BasicSlowXCoreFunctions.GetUrlReferrer());
isave.AddISaveItem(entity._SessionID, BasicSlowXCoreFunctions.GetSessionID());
}
else
{
ipAddress = GetIPAddress(info.FromIP, xdbHelper);
isave.AddISaveItem(entity._FromIP, info.FromIP);
isave.AddISaveItem(entity._VisitWeb, info.VisitWeb);
isave.AddISaveItem(entity._IPAddress, ipAddress);
isave.AddISaveItem(entity._UrlReferrer, info.UrlReferrer);
isave.AddISaveItem(entity._SessionID, info.SessionID);
isave.AddISaveItem(entity._BrowserInfo, info.BrowserInfo);
isave.AddISaveItem(entity._BrowserVersion, info.BrowserVersion);
isave.AddISaveItem(entity._ClientLanguage, info.ClientLanguage);
isave.AddISaveItem(entity._Platform, info.Platform);
}
bll.Insert(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
}
标签:
访问日志中的浏览和访问信息 


上一条:
下一条:
相关评论
发表评论