ASP.NET页面揭秘(一)
其实对这方面一直掌握的不够熟练,属于半桶水那种类型—一知半解,所以这次重新这阅读了《asp.net 2.0技术内幕》对这块知识又有了新的认识。
在基于IIS的Web服务器上可以访问的所有资源按文件扩展名进行分组。然后把任何一个输入的请求分配给特定的运行时模块处理。ISAPI(Internet Server Application Programming Interface)扩展在 IIS的上下文中处理Web的资源的模块。它就是一个普通的旧式Win32动态链接库(DLL),提供了大量有预定义名称和原型的API函数,为开发人员提供了更加强大的对于IIS功能的扩展。IIS和 ISAPI扩展作为一种私有的通信协议使用这些DLL项。对一个资源的请求到达时,IIS首先验证资源类型。图像,文本文件,HTML页面和无脚本ASP页面等静态资源,由IIS直接解析。需要服务器端进行加工的资源被转到已注册的模块。例:.aspx文件就会分配给一个名为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll的ISAPI扩展处理。
资源映射存储在IIS元库中。ASP.NET在安装时对IIS元库进行修改,确保aspnet_isappi.dll能处理某些典型的ASP.NET资源。(.asax,.ascx,ashx,asmx,aspx,axd等等)
IIS5.0进程模型
跟据该模型,当一个http资源请求来的时候,aspnet_isapi.dll 不能处理.aspx文件,而是充当调度程序。它收集所有有关激活的URL和基础资源信息,然后把请求传给另一个进程: 名为aspnet_wp.exe的asp.net工作进程。ISAPI扩展和该工作进程之间的通道通过命名管道进行。工作进程的一个副本始终在运行,并托管所有的活动的web应用程序。每个web应用程序用自己虚拟目录进行标识,并且属于一个不同的应用区域(通常称为AppDomain)。每当客户第一次处理一个虚拟目录时,在ASP.NET工作进程内创建一个新的AppDomain.创建新的AppDomain后,ASP.NET运行库加载所有必须的程序集,并把控制传递给托管的HTTP 管道以实际服务请求。如果客户从一个已经运行的Web应用程序请求一个页,则ASP.NET运行库只把该请求转发到与该虚拟目录关联的现有AppDomain。如果该AppDomain中没有加载处理该页所有的程序集,则动态地创建它,否则在第一次调用时已经创建,则只使用它。
表示请求页
每个引用.aspx资源的进入请求都会被映射到一个派生 Page类,并且通过它提供服务。ASP.NET HTTP运行时环境首先确定用于服务该请求的类的名称。这里有个特殊的命名约定将该页的URL与该类的名称相关联。例 default.aspx对应类AS
相关文档:
我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。
(1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
......
ASP.NET正则表达式集合
1.帐号由a~z的英文字母(不区分大小写)、0~9的数字、点、减号或下划线组成,长度为
3~18个字符,例如:kyzy_001
^[a-zA-Z0-9.-_]{3,18}$
2.输入框里必须为数字
^[0-9]{1,}$
3.电子邮件格式
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
4.要求文本框只能输入最多 ......
对于asp.net程序,我们应该尽可能的提供一个便捷的用户接口,减少页面回传就是其中之一。
本文演示一次上传多个文件的方法,在客户端可以随意控制上传文件的个数,但是注意总文件大小不能过大,否则会有异常抛出。至于解决大文件上传的方法已经超出本文的讨论范围。
<注:大附件办法>
<
<configuration> ......
ASP.NET中前台javascript与后台代码调用
2010-03-31 10:01
.net中C#代码与javaScript函数的相互调用问题。
问:
1.如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函 ......
验证码控件WebValidates的使用步骤如下:
1. 将验证码控件放入工具箱。(直接拖动DLL放到工具箱即可)
2. 拖放控件到页面相应位置。
3. 页面初始化时,编程生成验证码(假设验证码控件ID为snCode)。
snCode.Create();//首次加载生成新验证码
4. 编码对比用户的输入(假设用户输入验证码的文本框ID是txtCode ......