
ASP.NET高级功能
文章平均质量分 88
lentonnet
此人怪才一个 。。。
展开
-
ASP.NET中的HTTP模块和处理程序
介绍 引自(http://blog.youkuaiyun.com/suilam/archive/2006/08/28/1133223.aspx) 在Internet时代的开端,客户端的需求非常有限;.htm文件就可以满足他们的需求。但是,随着时间的流逝,客户端需求的扩充超越了.htm文件或静态文件所包含的功能。 开发者需要扩充或扩展Web服务器的功能。Web服务器厂商设计了不同的解决方案,但是都遵循同一个原创 2006-09-16 13:53:00 · 655 阅读 · 0 评论 -
ASP.NET底层架构探索之ASP.NET管道(1)
HttpApplication触发事件来通知你的程序有事发生,以此来负责请求流转.这作为HttpApplication.Init()函数的一部分发生(用Reflector查看System.Web.HttpApplication.InitInternal()方法和HttpApplication.ResumeSteps()方法来了解更多详情),连续设置并启动一系列事件,包括执行所有的处理器(handl转载 2006-10-19 10:40:00 · 482 阅读 · 0 评论 -
ASP.NET 2.0 Membership原理及应用(2)
二、Membership 静态类 上面提到过,一般情况下我们都不会直接去使用到MembershipProvider抽象,因为这涉及到如何去实例化真正的Membership服务类的问题,涉及到配置和实例化对象的问题一般都是比较棘手的问题,对初学者来说,想要掌握也不是那么容易。那在.NET框架中就是通过Membership(Static Class)这个静态类来屏蔽掉这一层的复杂关系。Members转载 2006-10-19 10:53:00 · 599 阅读 · 0 评论 -
HTTP运行期与页面执行模型
HTTP运行期HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。HTTP运行期首先创建一个HttpContext对象的实例,它包含了当前正转载 2006-10-19 11:28:00 · 504 阅读 · 0 评论 -
HttpModule(2)
多个自定义的Http Module的运作从运行结果可以看到,在web.config文件中引入自定义HttpModule的顺序就决定了多个自定义HttpModule在处理一个HTTP请求的接管顺序。注:系统默认那几个HttpModule是最先衩ASP.NET Framework所加载上去的。示例3:(代码类同示例2) 在HttpModule中终止此次的HTTP请求可以利用H转载 2006-10-19 11:32:00 · 606 阅读 · 0 评论 -
HttpModule(1)
HttpModule是如何工作的当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTT转载 2006-10-19 11:33:00 · 530 阅读 · 0 评论 -
委托(2)
委托链前面介绍过MulticastDelegate中有一个_prev的私有字段,这个字段指向另一个MulticastDelegate对象的引用,这样就实现了委托链(其实与我们在学链表时的实现方式是一致的)。当委托链表被调用时,它首先会调用委托中在其前面的委托对象,这里如果被调的回调方法具有返回值,将被丢失,委托链只会返回最后一次调用回调方法的返回值。 委托示例这是一个我自认为比转载 2006-10-19 11:36:00 · 447 阅读 · 0 评论 -
Asp.Net事务和异常处理
第一篇:Asp.Net安全性学习MSDN的WEBCAST,感觉单纯看一遍意义不大,做个笔记,以备不时只需查找方便。代码部分本人在XP+VS2005+SQL2005测试通过,请大家指教。Asp.Net事务和异常处理:一。什么是事务处理?事务处理是一组组和成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性。如果在事务过程中没有遇到错误,事务中的所有修改都将永原创 2007-09-24 10:00:00 · 584 阅读 · 0 评论 -
委托(1)
委托的概念委托实际上是类(一个貌似函数一样的类),我们已经使用函数指针很多年了——函数指针也被称为过程类型,但是它们的实现都不是类。它们是单独的函数指针的简单实例。委托是包含这些功能的类,委托类通过保留的列表来确定某些事物是否已经指派给了委托,这种算法可以理解为:“对于内部列表中的每一个回调函数,都调用函数”。委托除了支持回调函数外,还可以通过该列表来实现多播(委托链)。说白了,就是我们把转载 2006-10-19 11:36:00 · 530 阅读 · 0 评论 -
HttpHandler(2)
IHttpHandler工厂ASP.NET Framework实际不直接将相关的页面资源HTTP请求定位到一个其内部默认的IHttpHandler容器之上,而定位到了其内部默认的IHttpHandler工厂上。IHttpHandler工厂的作用是对IHttpHandler容器进行调度和管理。IHttpHandlerFactory接口包含两个方法。GetHandler返回实现IHttpHan转载 2006-10-19 11:34:00 · 473 阅读 · 0 评论 -
HttpHandler(1)
概述HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。 IHttpHandler是什么IHttpHandler定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。H转载 2006-10-19 11:34:00 · 782 阅读 · 0 评论 -
事件(1)
.NET Framework中的事件 事件体系结构引发事件的对象叫做事件源。事件源发布它可以引发的事件。事件的类型总是委托类型,这个委托类型的签名定义了处理该事件的方法的签名。定义事件处理程序方法的对象称为事件接收方。事件接收方预订要在事件源上处理的事件事件接收方提供的事件处理程序方法必须与为该事件预订的方法签名一致。事件源利用多播委托跟踪这些事件处理程序方法。当发生重要情况时,事件源转载 2006-10-19 11:38:00 · 454 阅读 · 0 评论 -
ASP.NET页面中冻结DataGrid的列或头部
ASP.NET页面中,有时候我们需要冻结datagrid中的某一列,比如显示的数据项过多时,我们需要让第一列不动,拖动横向滚动条时其他列隐藏,这时就需要冻结列了;另外,有时候也需要让datagrid的头部不动,拖动纵向滚动条时,下面的数据项可以滚动。在实现的过程中,其实就是用了css样式来控制,一起看一下。 要冻结哪一列,就把fixCol这个CSS加到HeaderStyle-CssClass和转载 2006-10-18 17:30:00 · 774 阅读 · 0 评论 -
ASP.NET 2.0 Membership原理及应用(1)
一、MembershipProvider抽象类 在很多情况下,在使用Membership的时候我们并不会直接使用到这个类。在MembershipProvider类定义的都是一些抽象方法和抽象属性,就是这些方法和属性构成了Membership接口的基本规范,而且在.NET 框架内部使用Membership的功能都是通过这个类型调用的。继承类通过实现这些接口来提供不用环境下的用户管理功能,并且对M转载 2006-10-19 10:54:00 · 519 阅读 · 0 评论 -
事件(2)
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.We转载 2006-10-19 11:38:00 · 449 阅读 · 0 评论 -
ASP.NET中绑定枚举类型
在项目开发中好多地方用了枚举,要把枚举显示到下拉列表框中我们平常的方法就是在下拉列表控件中一个一个添加进去!这样做也行但如果我的枚举类型中的枚举值一旦改变,那么你就得满世界的去找然后再修改很麻烦。 这里我有反射动态的绑定枚举值就可以很方便的做修改了,代码如下: public enum Eume{ 星期一, 星期二, 星期三, 星期四,转载 2006-10-19 10:34:00 · 826 阅读 · 2 评论 -
ASP.NET底层架构探索之ASP.NET管道(2)
一旦管道被启动,HttpApplication开始象图六那样一个个的触发事件.每个事件处理器被触发,如果事件被挂接,这些处理器将执行它们自己的任务.这个处理的主要任务是最终调用挂接到此特定请求的HttpHandler.处理器(handler)是ASP.NET请求的核心处理机制,通常也是所有应用程序级别的代码被执行的地方.记住ASP.NET页面和Web服务框架都是作为HttpHandler实现,转载 2006-10-19 10:39:00 · 406 阅读 · 0 评论 -
在ASP.NET中实现Url Rewriting(5)
4.处理回送数据 如果要重写的网址上包含有服务器端Web Form并执行数据回送,当该Web Form回送数据时会暴露出真实的网址,也就是说,当用户访问/Products/Baverage.aspx时,浏览器上地址栏显示的也是/Products/Baverage.aspx,但是实际上是访问/ListProdutsByCategoryID.aspx?CategoryID=1的内容,如果ListPr转载 2006-10-19 11:23:00 · 562 阅读 · 0 评论 -
在ASP.NET中实现Url Rewriting(4)
使用HttpHandler来调用网址重写 除了上面所述方法外,网址重写也可以放入HttpHandler或者HttpHandlerFactory中调用。HttpHandler是一个负责针对特定请求生成相应内容的类,而HttpHandlerFactory返回一个HTTP的实例,该实例针对特定请求生成相应内容。 本节将着眼于为这些ASP.NET页面创建一个网址重写的HttpHandlerFactor转载 2006-10-19 11:24:00 · 638 阅读 · 0 评论 -
在ASP.NET中实现Url Rewriting(3)
实现网址重写 网址重写技术不但可以在IIS Web服务器一级通过ISAPI过滤器实现,而且还可以在ASP.NET一级通过HttpModule或者HttpHandler实现。本文主要关注在ASP.NET一级实现网址重写技术,所以此时不必关注在ISAPI应用程序中实现网址重写的技术细节,而且有很多第三方厂商提供的ISAPI过滤器。 构建网址重写引擎 在ASP.NET中实现网址重写很简单,转载 2006-10-19 11:24:00 · 418 阅读 · 0 评论