赞
踩
C# HttpRuntime是一个ASP.NET应用程序的核心类之一,它提供了一些有用的方法和属性,可以让ASP.NET应用程序中处理HTTP请求和响应。常见的用法包括:
在使用HttpRuntime类之前,需要先确保在ASP.NET应用程序中已经引用了System.Web命名空间。
C# HttpRuntime是一个包含一组静态方法和属性的类,它提供了一个用于处理HTTP请求的运行时环境。它通常用于ASP.NET Web应用程序中,可以用来获取当前应用程序的状态,处理请求,管理会话等。
HttpRuntime对象用于处理HTTP请求ASP.NET管道模型的开头。该方法ProcessRequest
驱动所有后续ASP.NET Web
处理。
AppDomainAppId
:获取httpRuntime所在的应用程序域的应用程序标识AppDomainAppPath
:获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径AppDomainAppVirtualPath
:获取包含承载在当前应用程序域中的应用程序的目录的虚拟路径AppDomainId
:获取HttpRuntime
实例所在应用程序域的域标识AspClientScriptPhysicalPath
:获取 ASP.NET 客户端脚本文件的文件夹路径AspClientScriptVitualPath
:获取 ASP.NET 客户端脚本文件的虚拟路径AspInstallDirectory
:获取安装 ASP.NET 可执行文件的目录的物理路径BinDirectory
:获取当前应用程序的/bin目录的物理路径Cache
:获取当前应用程序的Cache
ClrInstallDirectory
:获取安装公共语言运行时可执行文件的目录的物理路径CodegeDir
:获取 ASP.NET 存储当前应用程序的临时文件(生成的源、编译了的程序集等)的目录的物理路径IsOnUNCShare
:获取一个值,该值指示应用程序是否映射到通用命名约定 (UNC) 共享MachineConfigurationDirectory
:获取当前应用程序的 Machine.config 文件所在目录的物理路径UsingIntegratedPipeline
:获取一个值,该值指示当前应用程序是否在 IIS 7.0 的集成管道模式下运行Close()
:关闭HttpRuntime实例Equals(Object)
:确定指定对象是等于当前对象GetHashCode()
:作为默认哈希函数GetNamePermissionSet()
:返回与代码组关联的权限集MemberwiseClone()
:创建当前Object的浅表副本ProcessRequest(HttpWorkerRequest)
:驱动所有ASP.NET Web处理执行UnLoadAppDomain()
:终止当前应用程序。应用程序在下次接收到请求时重新启动HttpRuntime.Cache
相当于就是一个缓存具体实现类,这个类虽然被放在了。但是非Web应用也是可以拿来用的。
HttpContext.Cache
是对上述缓存类的封装,由于封装到了 HttpContext ,局限于只能在知道 HttpContext 下使用,即只能用于 Web 应用
Page.Cache或HttpContext.Cache。实际上都是HttpRuntime.Cache的快捷方式,Page.Cache访问了HttpContext.Cache。
HttpRuntime.UnloadAppDomain()
静态方法UnloadAppDomain()
可以让我们用代码重新启动网站。通常用于用户通过程序界面修改了一个比较重要的参数。这时需要重启程序。
public class HttpRuntimeCache { ///<summary> ///设置缓存时间,配置(从配置文件中读取) ///</summary> private const double Seconds = 30*24*60*60; ///<summary> ///缓存指定对象,设置缓存 ///</summary> public static bool Set(string key, object value) { return Set(key, value, null, DateTime.Now.AddSeconds(Seconds),Cache.NoSlidingExpiration,CacheItemPriority.Default, null); } ///<summary> ///缓存指定对象,设置缓存 ///</summary> public static bool Set(string key,object value,string path) { try { var cacheDependency = new CacheDependency(path); return Set(key, value, cacheDependency); } catch { return false; } } ///<summary> ///缓存指定对象,设置缓存 ///</summary> public static bool Set(string key,object value,CacheDependency cacheDependency) { return Set(key,value,cacheDependency,Cache.NoAbsoluteExpiration,Cahe.NoSlidingExpiration,CacheItemPriority.Default,null); } ///<summary> ///缓存指定对象,设置缓存 ///</summary> public static bool Set(string key,object value,double seconds,bool isAbsulute) { return Set(key,value,null, (isAbsulute ? DateTime.Now.AddSeconds(seconds) :Cache.NoAbsoluteExpiration), (isAbsulute ? Cache.NoSlidingExpiration : TimeSpan.FromSeconds(seconds)), CacheItemPriority.Default, null); } ///<summary> ///获取缓存对象 ///<summary> public static object Get(string key) { return GetPrivate(key); } ///<summary> ///判断缓存中是否含有缓存该键 ///<summary> public static bool Exists(string key) { return (GetPrivate(key) != null); } ///<summary> ///移除缓存对象 ///</summary> ///<param name="key"></param> ///<returns></returns> public static bool Remove(string key) { if(string.IsNullOrEmpty(key)) { return false; } HttpRuntime.Cache.Remove(key); return true; } ///<summary> ///移除所有缓存 ///</summary> ///<returns></returns> public static bool RemoveAll() { IDictionaryEnumerator iDictionaryEnumerator = HttpRuntime.Cache.GetEnumerator(); while (iDictionaryEnumerator.MoveNext()) { HttpRuntime.Cache.Remove(Convert.ToString(iDictionaryEnumerator.Key)); } return true; } ///<summary> ///设置缓存 ///</summary> public static bool Set(string key, object value, CacheDependency cacheDependency, DateTime dateTime,TimeSpan timeSpan, CacheItemPriority cacheItemPriority, CacheItemRemovedCallback cacheItemRemovedCallback) { if (string.IsNullOrEmpty(key) || value == null) { return false; } HttpRuntime.Cache.Insert(key, value, cacheDependency, dateTime, timeSpan, cacheItemPriority,cacheItemRemovedCallback); return true; } ///<summary> ///获取缓存 ///</summary> private static object GetPrivate(string key) { return string.IsNullOrEmpty(key) ? null : HttpRuntime.Cache.Get(key); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。