记录数据库执行情况来分析数据库查询性能问题(三)

2014-11-24 08:19:30 · 作者: · 浏览: 25
questURL;
private string _ReferURL;
private string _ClientIPAddress;
private string _ApplicationDirectory;
private string _UserID;

#endregion

#region 构造函数

public SimpleWebContext()
{
_UniqueID = Guid.NewGuid();
if (HttpContext.Current != null)
{
_ClientIPAddress = HttpContext.Current.Request.UserHostAddress;
_ApplicationDirectory = HttpContext.Current.Request.PhysicalApplicationPath;
_RequestURL = HttpContext.Current.Request.Url.AbsoluteUri;
if (HttpContext.Current.Request.UrlReferrer != null)
{
_ReferURL = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
}
}
}

#endregion

#region IContext Members

public string ApplicationDirectory
{
get
{
return _ApplicationDirectory;
}
set
{
_ApplicationDirectory = value;
}
}

public string ClientAddress
{
get
{
return _ClientIPAddress;
}
set
{
_ClientIPAddress = value;
}
}


public string Name
{
get;
set;
}

public string ReferURL
{
get
{
return _ReferURL;
}
set
{
_ReferURL = value;
}
}

public string RequestURL
{
get
{
return _RequestURL;
}
set
{
_RequestURL = value;
}
}

public Guid UniqueID
{
get
{
return _UniqueID;
}
set
{
_UniqueID = value;
}
}

public string UserID
{
get
{
return _UserID;
}
set
{
_UserID = value;
}
}

#endregion

#region ICloneable Members

public object Clone()
{
SimpleWebContext context = new SimpleWebContext();
context._ApplicationDirectory = this._ApplicationDirectory;
context._ClientIPAddress = this._ClientIPAddress;
context._ReferURL = this._ReferURL;
context._RequestURL = this._RequestURL;
context._UniqueID = this._UniqueID;
context._UserID = this._UserID;
return context;
}

#endregion
}
复制代码



第五:web上下文句柄,继承自CommonContextHandler。



public class SimpleWebContextHandler : CommonContextHandler
{
protected override IContext CreateNewContext()
{
SimpleWebContext context = new SimpleWebContext();
return context;
}
}
复制代码

第六:在应用程序中注册上下文,为了调用方便,需要有一个上下文工厂类,它负责调用具体的上下文接口进行上下文的获取以及重置。




Vi