首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 软件教学-> 压缩工具
同步http处理程序(ihttphandler) _c#应用
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

本主题阐释一个 HTTP 处理程序的代码,该处理程序对 ASP.NET 应用程序中其 URL 以 .sample 结尾的资源执行同步请求处理。此代码示例阐释了下列内容:

一个 HTTP 处理程序类的代码。该类必须实现 ProcessRequest 方法和 IsReusable 属性。

Web.config 文件中注册该处理程序并将 .sample 文件扩展名映射到该处理程序所需的元素。

如何在 Internet 信息服务 (IIS) 中将 .sample 文件扩展名映射到 ASP.NET。

注意
在将配置文件更改为包含对新处理程序的引用后,ASP.NET Development Server 将处理对新资源的请求。若要启用 IIS 以处理该请求,请参见下面的过程。
 

当用户请求一个其 URL 以 .sample 结尾的资源时,Web 服务器将该请求转发给 ASP.NET。然后 ASP.NET 调用 HTTP 处理程序,后者返回一个响应。该响应由该处理程序动态创建;不需要存在具有文件扩展名 .sample 的文件。有关 ASP.NET 如何与 Web 服务器交互的更多信息,请参见 ASP.NET 生命周期。

创建自定义 HelloWorldHandler HTTP 处理程序类
在网站的 App_Code 目录中,创建一个名为 HelloWorldHandler 的类。

向类文件中添加下面的代码。

Visual Basic  
Imports System.Web
                Public Class HelloWorldHandler
                Implements IHttpHandler
                Public Sub ProcessRequest(ByVal context As _
                System.Web.HttpContext) Implements _
                System.Web.IHttpHandler.ProcessRequest
                Dim request As HttpRequest = context.Request
                Dim response As HttpResponse = context.Response
                This handler is called whenever a file ending
                in .sample is requested. A file with that extension
                does not need to exist.
                response.Write("<html>")
                response.Write("<body>")
                response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>")
                response.Write("</body>")
                response.Write("</html>")
                End Sub
                Public ReadOnly Property IsReusable() As Boolean _
                Implements System.Web.IHttpHandler.IsReusable
                Get
                Return False
                End Get
                End Property
                End Class
 

 

C#  
using System.Web;
                public class HelloWorldHandler : IHttpHandler
                {
                public HelloWorldHandler()
                {
                }
                public void ProcessRequest(HttpContext context)
                {
                HttpRequest Request = context.Request;
                HttpResponse Response = context.Response;
                // This handler is called whenever a file ending
                // in .sample is requested. A file with that extension
                // does not need to exist.
                Response.Write("<html>");
                Response.Write("<body>");
                Response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>");
                Response.Write("</body>");
                Response.Write("</html>");
                }
                public bool IsReusable
                {
                // To enable pooling, return true here.
                // This keeps the handler in memory.
                get { return false; }
                }
                }
 

这段代码实现 ProcessRequest 方法并将一个字符串写出到当前 HttpContext 对象的 Response 属性中。

注册自定义 HTTP 处理程序
创建完自定义 HTTP 处理程序类后,必须在应用程序的 Web.config 文件中注册它。这样,ASP.NET 在接收对其 URL 以 .sample 结尾的资源进行的请求时,可以找到该处理程序。

在 Web.config 文件中注册自定义 HTTP 处理程序
将一个 Web.config 文件添加到网站(如果该文件尚未存在)。

将下面突出显示的元素添加到 Web.config 文件中。

  
<configuration>
                <system.web>
                <httpHandlers>            <add verb="*" path="*.sample"                   type="HelloWorldHandler"/>        </httpHandlers>
                </system.web>
                </configuration>
 

这段代码按类名注册自定义处理程序,并将 .sample 文件扩展名映射到该处理程序。

在 IIS 6.0 中配置 HTTP 处理程序扩展名
IIS 只将针对某些文件类型的请求传递给 ASP.NET 进行处理。默认情况下,具有 .aspx、.ascx、.asmx 等文件扩展名的文件在 IIS 6.0 中已映射为 ASP.NET ISAPI 扩展名 (Aspnet_isapi.dll)。但如果希望 ASP.NET 处理自定义 URL 扩展名,则必须在 IIS 中映射这些扩展名。有关更多信息,请参见 ASP.NET 生命周期。

在 IIS 6.0 中将 .sample 文件扩展名映射到 ASP.NET
打开“Internet 信息服务(IIS)管理器”。

右击应用程序的名称,然后单击“属性”。

注意
有关创建 ASP.NET 应用程序的说明,请参见如何:在 IIS 中创建并配置本地 ASP.NET 网站。
 

单击“虚拟目录”选项卡,然后单击“配置”。

在“映射”选项卡上,单击“添加”。

将显示“添加/编辑应用程序扩展名映射”对话框。

在“可执行文件”框中,键入或浏览至 Aspnet_isapi.dll 文件。默认情况下,该文件位于以下位置。

  
%windows%\Microsoft.NET\Framework\version\
 

注意
可以从其他映射(如 .aspx 文件的映射)获得完整路径和文件名。
 

在“扩展名”框中,键入 .sample。

清除“确认文件是否存在”复选框。

单击“确定”,然后关闭 IIS 管理器。

测试自定义 HTTP 处理程序
创建并注册了自定义 HTTP 处理程序后,可以通过请求具有 .sample 文件扩展名的资源对其进行测试。

测试自定义 HTTP 处理程序
在浏览器中,输入一个指向 Web 应用程序并以 .sample 结尾的 URL,如下所示:

  
http://localhost/SampleApplication/test.sample
 

将显示在 HelloWorldHandler 类中定义的文本。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·web打印的另类方法-ASP教程,打印相关
·Java简单类型进行精确浮点数运算-JSP教程,Java技巧及代码
·使用JAVAMAIL发邮件的一个例子-JSP教程,邮件相关
·中国移动本地传输网建设方案初探
·传输系统中的时钟同步技术
·JSP学习经验总结(转)-JSP教程,Jsp/Servlet
·WEB打印,去页眉和页脚-ASP教程,打印相关
·Native XML数据库技术详解-.NET教程,XML应用
·jsp生成html--readtemplates-JSP教程,Jsp/Servlet
·下拉框反回选定的文字 (修改页面经常用到)-ASP教程,ASP应用
最新文章
·在xp中如何使用windows vista屏保_windows xp
·photoshop调色:cmyk模式处理单色调特效_photoshop教程
·视频分享网站视频广告发展面临的问题_营销推广
·难以置信,这样的网站每月盈利上千万_营销推广
·大站做百度主题推广 小站做google adsense_网赚技巧
·方兴东:保留alexa插件才能给站长带来快乐_站长访谈
·网友天下ceo叶灵:欢迎大家看web2.0笑话_站长访谈
·我们应该如何运营网站_站长心得
·网站从业者还要更加务实才能赚钱_站长心得
·炼成高级网络编辑的三大原则_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭