HttpRuntime类

 HttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication。

  其定义如下:

    public sealed class HttpRuntime
    {
        public HttpRuntime();
        //获取 System.Web.HttpRuntime 所在的应用程序域的应用程序标识。
        public static string AppDomainAppId { get; }
        //获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。
        public static string AppDomainAppPath { get; }
        //获取包含承载在当前应用程序域中的应用程序的目录的虚拟路径。
        public static string AppDomainAppVirtualPath { get; }
        //获取 System.Web.HttpRuntime 实例所在应用程序域的域标识。
        public static string AppDomainId { get; }
        //获取 ASP.NET 客户端脚本文件的文件夹路径。
        public static string AspClientScriptPhysicalPath { get; }
        //获取 ASP.NET 客户端脚本文件的虚拟路径。
        public static string AspClientScriptVirtualPath { get; }
        //获取安装 ASP.NET 可执行文件的目录的物理路径。
        public static string AspInstallDirectory { get; }
        //获取当前应用程序的 /bin 目录的物理路径。
        public static string BinDirectory { get; }
        //获取当前应用程序的 System.Web.Caching.Cache。
        public static Cache Cache { get; }
        //获取安装公共语言运行时可执行文件的目录的物理路径。
        public static string ClrInstallDirectory { get; }
        //获取 ASP.NET 存储当前应用程序的临时文件(生成的源、编译了的程序集等)的目录的物理路径。
        public static string CodegenDir { get; }
        //获取一个值,该值指示应用程序是否映射到通用命名约定 (UNC) 共享。如果应用程序映射到 UNC 共享,则为 true;否则,为 false。
        public static bool IsOnUNCShare { get; }
        //获取当前应用程序的 Machine.config 文件所在目录的物理路径。
        public static string MachineConfigurationDirectory { get; }
        //获取一个值,该值指示当前应用程序是否在 IIS 7.0 的集成管线模式下运行。如果应用程序在集成管线模式下运行,则为 true;否则为 false。
        public static bool UsingIntegratedPipeline { get; }
        //从缓存中移除所有项。
        public static void Close();
        //返回与代码组关联的权限集。System.Security.NamedPermissionSet 对象,如果不存在任何权限,则为 null。
        public static NamedPermissionSet GetNamedPermissionSet();
        //驱动所有 ASP.NET Web 处理执行。参数: wr: 当前应用程序的 System.Web.HttpWorkerRequest。
        public static void ProcessRequest(HttpWorkerRequest wr);
        //终止当前应用程序。应用程序在下次接收到请求时重新启动。
        public static void UnloadAppDomain();
    }

  这里主要选择UnloadAppDomain()方法以及Cache来说。

  1、HttpRuntime.Cache

  • HttpRuntime.Cache 相当于就是一个缓存具体实现类,这个类虽然被放在了 System.Web 命名空间下了。但是非 Web 应用也是可以拿来用的。
  • HttpContext.Cache 是对上述缓存类的封装,由于封装到了 HttpContext ,局限于只能在知道 HttpContext 下使用,即只能用于 Web 应用。

  Page.Cache或HttpContext.Cache, 实际上都是HttpRuntime.Cache的快捷方式,Page.Cache访问了HttpContext.Cache,而HttpContext.Cache又直接访问HttpRuntime.Cache

  2、HttpRuntime.UnloadAppDomain()

  静态方法 UnloadAppDomain() 可以让我们用代码重新启动网站。 通常用于用户通过程序界面修改了一个比较重要的参数,这时需要重启程序了。

HttpRuntime类,布布扣,bubuko.com

时间: 2024-10-24 07:47:26

HttpRuntime类的相关文章

.net学习笔记---HttpRuntime类

HttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication. 其定义如下: public sealed class HttpRuntime { public HttpRuntime(); //获取 System.Web.HttpRuntime 所在的应用程序域的应用程序标识. public static string AppDomainAppId { get; } //获取承载在当前

HttpRuntime应用程序的运行时

System.Web.HttpRuntime类是整个Asp.net服务器处理的入口. 这个类提供了一系列的静态属性,反映web应用程序域的设置信息,而且每个web应用程序域中存在一个System.Web.Runtime类. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.

HttpRuntime应用程序运行时

System.Web.HttpRuntime类是整个Asp.net服务器处理的入口. 这个类提供了一系列的静态属性,反映web应用程序域的设置信息,而且每个web应用程序域中存在一个System.Web.Runtime类. 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Web; 6 using System.Web.UI; 7

1.网站应用程序 - 《APS.NET本质论》

1.1.HTTP协议 浏览器与WEB服务器的协议是应用层协议,当前遵循HTTP/1.1,HTTP协议是无状态的协议 客户机与服务器通过请求和响应完成一次会话(Session),每次会话中,双方发送的数据称为消息(Message),消息分为两种: 请求消息和回应消息. 客户端请求消息 客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line).请求头部(header).空行和请求数据四个部分组成,下图给出了请求报文的一般格式. 服务器响应消息 HTTP响应也由四个

ASP.NET 缓存技术分析

缓存功能是大型网站设计一个很重要的部分.由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能.可能的情况下尽量使用缓 存,从内存中返回数据的速度始终比去数据库查的速度快,因而可以大大提供应用程序的性能.毕竟现在内存非常便宜,用空间换取时间效率应该是非常划算的.尤 其是对耗时比较长的.需要建立网络链接的数据库查询操作等. 对于web页面的缓存,WebForm与ASP.NET MVC有不同的语法.在WebForm中, <%@ OutputCache Duration="6

Asp.net管道 (第二篇)

从请求进入ASP.NET工作者进程,直至它到达最终的处理程序之前要经过一系列的步骤和过程,这个步骤和过程称为ASP.NET处理管道. Asp.net的处理管道流程如下: 语言描述如下: Asp.net处理管道的第一步是创建HttpWorkerRequest对象,它包含于当前请求有关的所有信息. HttpWorkerRequest把请求传递给HttpRuntime类的静态ProcessRequest方法.HttpRuntime首先要做的事是创建HttpContext对象,并用HttpWorkerR

ASP.NET平台下从浏览器地址栏输入之后发生的事

浏览器一般内嵌两个模块: Socket通信模块 → 浏览器将地址栏的数据及其他的数据放入http协议的请求头文件中,Socket将此http请求数据发送到远程服务器端 浏览器引擎渲染模块 → 浏览器接受从服务器返回的http响应头数据以及用户请求的数据渲染成用户所见的界面 ASP.NET开发人员和HttpApplication,HttpContext,HttpRequest,HttpResponse这四个类应该是老熟人了,而ASP.NET事件管道也是ASP.NET程序员耳熟能详的,就笔者自己而言

asp .net 一般处理程序

asp.net:一般处理程序.ashx效率比较高效,WebForm(aspx)比较消耗资源,MVC(效率刚好介于两者之间)asp.net里常用的文件.ashx 一般处理程序HttpHandler,asp.net核心程序,但一般使用.aspx(常用于不需要返回大量html代码的时候).aspx 常用程序webForm,用于创建网页和网页进行编程的核心文件(前台文件)(要返回大量html).aspx.cs 用于编写大量的C#业务代码和.aspx配套使用.ascx  指明一个 asp.net 用户定义

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(四)-- Middleware

本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Middleware功能支持. 在演示Middleware功能之前,先要了解一下Asp.Net管道模型发生了什么样的变化. 第一部分:管道模型 1. Asp.Net管道 在之前的Asp.Net里,主要的管道模型流程如下图所示: 请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象,封装此次请求有关的所有信息,然后进入HttpRuntime类进行进一步处理.H