易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.Net 上传大文件专题(2) 页面生成流程

回顾上一篇,我们可以了解到以下内容:
1.默认情况下,只能上传小于4M的文件,如果我们要上传大文件的话,可以通过更改maxRequestLength来提高限制。
2.Asp.net 1.X 通过改变maxRequestLength可以增大上传的限制,但是由于需要将用户请求的实体内容完全载入内存后再处理,会大大影响服务器性能。
3.Asp.net 2.0 则会在用户请求的实体内容超出一定阈值或称限制值(256K)之后,被透明地缓冲到磁盘,因此在ASP.NET 2.0中服务器的内存不会因为客户端的异常请求而耗尽。
本篇概要:
      在这一篇中主要理清HTTP请求流从到达WEB服务器开始到生成页面所经历的流程。为了能更好的理解本篇内空,建议大家先去看一下"HTTP请求流程"和"ASP.NET 应用程序生命周期";
正文内容:
      有些朋友可能会不耐烦了,“这和上传大文件有什么关系呀?”。那是因为我们无法通过.Net提供给我们的上传控件得到我们想要的效果,如果想实现我们上传大文件并显示进度,那就只有在服务器接受到HTTP请求后,对该请求进行处理。那我们就得对HTTP请求在服务器端的流程有个了解。
      浏览器发送页面请求(包括Get、Post、Put等请求方式)到IIS服务器后,在侦听程序进行接收后,只有少数几种被客户端请求的资源类型由IIS 直接处理。例如,对 HTML 页面、文本文件、JPEG 和 GIF 图像的传入请求由 IIS 处理。对 Active Server Page (*.asp) 文件的请求通过调用名为 asp.dll 的 ASP 专用扩展模块进行解析。同样,对 ASP.NET 资源(例如,*.aspx、*.asmx、*.ashx)的请求将传递到 ASP.NET ISAPI 扩展。因为IIS 6.0在IIS 5.x 上有所变动,所以我们分开来讲。
1.先来看IIS 5.X 的 ASP.net 请求处理过程:
      由上图可知,IIS 5.X 中侦听程序由IIS进程(inetinfo.exe)来实现,它除了可以用来接收HTTP消息的功能外,而且直接把aspnet_isapi.dll(asp.net isapi扩展)寄宿在了该进程里。IIS 接收到消息后,检查脚本映射,然后调用 ASP.NET ISAPI 扩展,又由该扩展将请求和控制以及相关的所有信息传送给辅助进程aspnet_wp.exe(该辅助进程也是由asp.net isapi调用,并在该进程初始化时自动加载了.Net 运行时)中的.Net 运行时。因为ASP.NET ISAPI 扩展和.Net运行时不属于一个进程,所有的请求数据都通过命名管道进行发送。
2.接着我们再来看一下IIS 6.0 的 ASP.


相关文档:

ASP.NET页面间的传值的几种方法(转载)

ASP.NET页面间的传值的几种方法(转载)
 ASP.NET WEB FORMS  给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦 ......

ASP.NET中防止页面多次提交的代码实现

此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.
//ASP.NET中防止页面多次提交的代码:javascript< script language=”javascript”> < !– function disableOtherSubmit() {
var obj ......

ASP.NET Cookie

Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法。例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息。当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息。
什么是 Cookie?
Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每 ......

asp.net连接access数据库进行添加更新删除查询操作

连接access数据库代码,写在一个单独的类里
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace AppWebDLL
{
    public class ConnApp
    {
       ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号