/// <summary>
/// 获取客户端IP
/// </summary>
/// <returns></returns>
public static string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
/// 获取客户端IP
/// </summary>
/// <returns></returns>
public static string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
/// <summary>
/// 获取服务器真实路径
/// </summary>
/// <returns></returns>
public static string GetServerUrl()
{
string path = HttpContext.Current.Request.ApplicationPath;
if (path == "/")
path = string.Empty;
string port = ":" + HttpContext.Current.Request.Url.Port.ToString();
if (port == ":80")
port = string.Empty;
string address = "http://" + HttpContext.Current.Request.Url.Host + port + path;
return address;
}
#region 数据缓存
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
/// <summary>
/// 获取服务器真实路径
/// </summary>
/// <returns></returns>
public static string GetServerUrl()
{
string path = HttpContext.Current.Request.ApplicationPath;
if (path == "/")
path = string.Empty;
string port = ":" + HttpContext.Current.Request.Url.Port.ToString();
if (port == ":80")
port = string.Empty;
string address = "http://" + HttpContext.Current.Request.Url.Host + port + path;
return address;
}
#region 数据缓存
/// <summary>
/// 获取当前应用程序指定CacheKey的Cache对象值
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <returns>返回缓存对象</returns>
public static object GetCache(string CacheKey)
{
return HttpRuntime.Cache[CacheKey];
}
/// <summary>
/// 设置以缓存依赖的方式缓存数据
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <param name="objObject">缓存对象</param>
/// <param name="cacheDepen">依赖对象</param>
public static void SetCache(string CacheKey, object objObject, CacheDependency dep)
{
HttpRuntime.Cache.Insert(CacheKey, objObject, dep, Cache.NoAbsoluteExpiration,
//从不过期
Cache.NoSlidingExpiration,
//禁用可调过期
CacheItemPriority.Default, null);
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <param name="objObject">缓存对象</param>
public static void SetCache(string CacheKey, object objObject)
{
HttpRuntime.Cache.Remove(CacheKey);
HttpRuntime.Cache.Insert(CacheKey, objObject);
}
/// <summary>
/// 移除缓存
/// </summary>
/// <param name="CacheKey"></param>
public static void RemoveCache(string CacheKey)
{
HttpRuntime.Cache.Remove(CacheKey);
}
/// 获取当前应用程序指定CacheKey的Cache对象值
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <returns>返回缓存对象</returns>
public static object GetCache(string CacheKey)
{
return HttpRuntime.Cache[CacheKey];
}
/// <summary>
/// 设置以缓存依赖的方式缓存数据
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <param name="objObject">缓存对象</param>
/// <param name="cacheDepen">依赖对象</param>
public static void SetCache(string CacheKey, object objObject, CacheDependency dep)
{
HttpRuntime.Cache.Insert(CacheKey, objObject, dep, Cache.NoAbsoluteExpiration,
//从不过期
Cache.NoSlidingExpiration,
//禁用可调过期
CacheItemPriority.Default, null);
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="CacheKey">索引键值</param>
/// <param name="objObject">缓存对象</param>
public static void SetCache(string CacheKey, object objObject)
{
HttpRuntime.Cache.Remove(CacheKey);
HttpRuntime.Cache.Insert(CacheKey, objObject);
}
/// <summary>
/// 移除缓存
/// </summary>
/// <param name="CacheKey"></param>
public static void RemoveCache(string CacheKey)
{
HttpRuntime.Cache.Remove(CacheKey);
}
#endregion