ASP.NET中的HttpWorkerRequest对像及其应用
HttpWorkerRequest对像在ASP.Net处理流程中的位置:
每一个ASP.NET程序执行时都会对当前URL的请求进行解析,本文将分析ASP.NET页面请求的原理。当我们在浏览器上输入一个URL时, 流程如下:
首先被WWW服务器截获(inetinfo.exe进程), 该进程首先判断页面后缀, 然后根据IIS中配置决定调用具体的扩展程序。
如aspx就会调用aspnet_isapi.dll, 然后由aspnet_isapi.dll发送给w3wp.exe(iis 工作者进程,IIS6.0中叫做 w3wq.exe,IIS5.0中叫做 aspnet_wp.exe).
接下来就是w3wp.exe调用.net类库进行具体处理,流程如下:
ISAPIRuntime-->HttpRuntime-->HttpApplicationFactory-->HttpApplication-->HttpModule--HttpHandlerFactory-->HttpHandle
1. ISAPIRuntime
主要作用是调用一些非托管代码生成HttpWorkerRequest对象,HttpWorkerRequest对象包含当前请求的所有信息,然后传递给HttpRuntime,这里生成的HttpWorkerRequest对象可以直接在我们的页面中调用的,通过它取得原始的请求信息:
2. HttpRuntime
a. 根据HttpWorkerRequest对象生成HttpContext,HttpContext包含request、response等属性;
b. 调用HttpApplicationFactory来生成IHttpHandler(这里生成的是一个默认的HttpApplication对象,HttpApplication也是IHttpHandler接口的一个实现)
c. 调用HttpApplication对象执行请求
3. HttpApplicationFactory.
主要是生成一个HttpApplication对象:
首先会查看是否存在global.asax文件,如果有的话就用它来生成HttpApplication对象,从这里我们可以看到global.asax的文件名是在asp.net的框架中写死的,不能修改的。如果这个文件不存在就使用默认的对象。
4. HttpApplication
这个是比较复杂也比较重要的一个对象, 首先是执行初始化操作,比较重要的一步就是进行HttpModule的初始化:
HttpApplication代表着程序员创建的Web应用程序。HttpApplication创建针对此Http请求的 HttpContext对象,这些对象包含了关于此请求的诸多其他对象,主要是HttpRequest、HttpResponse、 HttpSessionState等。这些对象在程序中可以通过Page类或者Context类进行访问。
它会读取web.config中所有HttpModule的配置
5. HttpModule
6. HttpHandlerFactory
7. HttpHandler
HttpWorkerRequest 的应用
1. Using HttpWorkerRequest for getting headers
First, the HttpWorkerRequest class is used internally by ASP.NET, and provides a
相关文档:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace zhixiaojia.Webctr.WebControls
{
[DefaultProperty("Text")]
[ToolboxData("&l ......
在工具箱中添加选项 添加com组件 找到ocx文件
然后 设置你做的网页的 名字 在浏览器中的 工具>IE选项>安全>可信任站点
<body>
<object id="VpOcx" classid="clsid:8B832F98-B7EE-4E2B-9FB4-86FA3BA17047"
codebase="~/../Bin/VpMatrixOcxPro.ocx"
&nbs ......
先下载.net framework2.0和ASPAJAXExtSetup.msi
然后安装 即可运行
如果需要开发AJAX
则要安装VS和AjaxControlToolkit
在VS工具箱中新建标签 ....
.Net Framework 3.5 环境下请阅读 v3.5 环境下如何布置 AJAX 环境。
这里所说的环境是指按服务器端实现方式进行的配置。应该说只要安装了 ASP.NET AJAX Extensions 就可 ......
作者:敖士伟 Email:ikmb@163.com 转载注明作者
说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。
2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。
3、好处:简化了前端数据读取与后端数据赋值。
function GetJSONSt ......
Page 执行中将按照如下顺序激活事件:
Page.PreInit
Page.Init
Page.InitComplite
Page.PreLoad
Page.Load
Page.LoadComplete
Page.PreRender
Page.PreRenderComplete
如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最 ......