ASP.Net中类似Servlet的东西

本文介绍了作者因不满ASP.NET内置的AJAX控件而决定自行创建AJAX框架的过程。通过实现IHttpHandler接口并修改web.config文件,成功实现了类似Servlet的功能。

先骂微软!吼吼!

在做网站方面,我是从JSP起家的,最近导师让用ASP.Net改一个网站,对于微软的一套解决方案,心里很不舒服,最不爽的是微软自己把网站控件自己包装了一遍,取名叫web控件,鄙视!

不过还好,微软保留了HTML基本控件,至于AJAX,更是很恶心!一般情况下需要使用微软的AJAX控件,再次鄙视!

今天细看《ASP.NET3.5从入门到精通》时,发现微软提供的AJAX控件越看越不顺眼,气急之下,到网上搜自己实现AJAX框架的文章,终于还是找到了:

创新源于理解 轻松打造自己的AJAX框架

http://tech.ddvip.com/2007-05/118007547225691.html

发现里面用到了IHttpHandler接口,细查了VS2008的MSDN,下面的代码示例为响应客户端对名为 handler.aspx 的页的请求而向 HTTP 输出流中写入了四行文本。对 handler.aspx 的所有请求均由包含在程序集 HandlerTest.dll 中的命名空间 HandlerExample 中的 MyHttpHandler 类提供服务:

// Name this C# file HandlerTest.cs and compile it with the // command line: csc /t:library /r:System.Web.dll HandlerTest.cs. // Copy HandlerTest.dll to your /bin directory. using System.Web; namespace HandlerExample { public class MyHttpHandler : IHttpHandler { // Override the ProcessRequest method. public void ProcessRequest(HttpContext context) { context.Response.Write("<H1>This is an HttpHandler Test.</H1>"); context.Response.Write("<p>Your Browser:</p>"); context.Response.Write("Type: " + context.Request.Browser.Type + "<br>"); context.Response.Write("Version: " + context.Request.Browser.Version); } // Override the IsReusable property. public bool IsReusable { get { return true; } } } } /* ______________________________________________________________ To use this handler, include the following lines in a Web.config file. <configuration> <system.web> <httpHandlers> <add verb="*" path="handler.aspx" type="HandlerExample.MyHttpHandler,HandlerTest"/> </httpHandlers> </system.web> </configuration> */

再结合

创新源于理解 轻松打造自己的AJAX框架

http://tech.ddvip.com/2007-05/118007547225691.html

发现可以通过实现IHttpHandler,再修改web.config的方式实现Servlet的功能,其中IHttpHandler必须编译成dll文件,并将该文件存放到网站的bin文件夹内,这个dll文件相当于Servlet文件,而修改web.config文件可以完成Servlet映射。

关于修改web.config文件的细节,参加在线MSDN的http://msdn.microsoft.com/zh-cn/library/7d6sws33(VS.80).aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值