大家好,欢迎来到IT知识分享网。
HttpHandler是一个HTTP请求的真正处理中心。在HttpHandler容器中,ASP.NET Framework才调用HttpHandler的ProcessRequest成员方法来对这个HTTP请求进行真正的处理,真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。
Framework提供了一系列的接口和类,允许你对于Http请求进行编程,而实现这一操作的一个主要的接口,就是 IHttpHandler(另一个是IHttpModule)。
.ashx文件用于写web handler,使用.ashx可以让你专注于编程而不用管相关的WEB技术。.ashx对应的类继承于IHttpHandler,所以,.ashx必须包含IsResuable属性,必须实现ProcessRequest方法。
IHttpHandler接口,定义ASP.NET为使用自定义HTTP处理程序同步处理HTTP Web请求而实现的协定。
IsResuable属性指的是IHttpHandler是否可以被再次使用。
ProcessRequest方法则是实现HTTP Web的请求处理。


ashx代码
1
[WebService(Namespace
=
"
http://tempuri.org/
"
)]
2
[WebServiceBinding(ConformsTo
=
WsiProfiles.BasicProfile1_1)]
3
public
class
FirstHandler : IHttpHandler
4
{
5
6
public
void
ProcessRequest(HttpContext context)
7
{
8
context.Response.ContentType
=
"
text/plain
"
;
9
context.Response.Write(
"
Hello World
"
);
10
}
11
12
public
bool
IsReusable
13
{
14
get
15
{
16
return
false
;
17
}
18
}
19
}
其实用.aspx文件可以完全实现.ashx的功能,.ashx比着.aspx的优点是性能高一些,它免去了.aspx页面的控件解析以及页面处理过程。它特别适合于生成动态图片,生成动态文本之类,实现某一具体功能的操作。
对于一些比较复杂的功能,比如需要处理回发控件的事件,则不太适合。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/31062.html