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 |