如何:创建同步 HTTP 处理程序
2006-03-31 15:46
615 查看
本主题阐释一个 HTTP 处理程序的代码,该处理程序对 ASP.NET 应用程序中其 URL 以 .sample 结尾的资源执行同步请求处理。此代码示例阐释了下列内容:
一个 HTTP 处理程序类的代码。该类必须实现 ProcessRequest 方法和 IsReusable 属性。
Web.config 文件中注册该处理程序并将 .sample 文件扩展名映射到该处理程序所需的元素。
如何在 Internet 信息服务 (IIS) 中将 .sample 文件扩展名映射到 ASP.NET。
当用户请求一个其 URL 以 .sample 结尾的资源时,Web 服务器将该请求转发给 ASP.NET。然后 ASP.NET 调用 HTTP 处理程序,后者返回一个响应。该响应由该处理程序动态创建;不需要存在具有文件扩展名 .sample 的文件。有关 ASP.NET 如何与 Web 服务器交互的更多信息,请参见 ASP.NET 生命周期。
向类文件中添加下面的代码。
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 属性中。
将下面突出显示的元素添加到 Web.config 文件中。
![](http://msdn2.microsoft.com/LibraryType/Controls/CodeSnippet/zh-cn/copy_off.gif)
复制到剪贴板
这段代码按类名注册自定义处理程序,并将 .sample 文件扩展名映射到该处理程序。
一个 HTTP 处理程序类的代码。该类必须实现 ProcessRequest 方法和 IsReusable 属性。
Web.config 文件中注册该处理程序并将 .sample 文件扩展名映射到该处理程序所需的元素。
如何在 Internet 信息服务 (IIS) 中将 .sample 文件扩展名映射到 ASP.NET。
![]() 注意 |
---|
在将配置文件更改为包含对新处理程序的引用后,ASP.NET Development Server 将处理对新资源的请求。若要启用 IIS 以处理该请求,请参见下面的过程。 |
创建自定义 HelloWorldHandler HTTP 处理程序类
在网站的 App_Code 目录中,创建一个名为HelloWorldHandler的类。
向类文件中添加下面的代码。
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 文件中。
![](http://msdn2.microsoft.com/LibraryType/Controls/CodeSnippet/zh-cn/copy_off.gif)
复制到剪贴板
<configuration> <system.web> <httpHandlers> <add verb="*" path="*.sample" type="HelloWorldHandler"/> </httpHandlers> </system.web> </configuration>
这段代码按类名注册自定义处理程序,并将 .sample 文件扩展名映射到该处理程序。
在 IIS 6.0 中配置 HTTP 处理程序扩展名
相关文章推荐
- 如何:创建同步/异步 HTTP 处理程序
- 如何:创建 HTTP 处理程序工厂
- WSS3SDK之:如何创建一个事件处理程序Feature
- head first C#学习笔记:如何创建事件以及事件处理程序
- 如何:注册 HTTP 处理程序
- ASP.NET之自定义同步HTTP处理程序(图文教程)
- 实战 HTTP 处理程序(HTTP Handler) (1) -- 创建一个最简单的 HTTP Handler
- 创建异步 HTTP 处理程序
- 如何使用Visual Studio Tools for Office创建事件处理程序
- 如何在SharePoint2010中创建自定义电子邮件警报处理程序
- 实战 HTTP 处理程序(HTTP Handler) (1) -- 创建一个最简单的 HTTP Handler
- 演练:创建和注册 HTTP 处理程序工厂
- ASP.NET 之 自定义 同步HTTP处理程序
- 在Visual Studio 的 “一般处理程序 ” .ashx 文件中如何创建Session 对象
- [翻译]创建异步的HTTP处理程序(Create an Asynchronous HTTP Handler)
- 创建异步 HTTP 处理程序
- 创建自定义 HTTP 处理程序
- ASP.NET之自定义同步HTTP处理程序(图文教程)
- 创建异步 HTTP 处理程序
- 同步http处理程序(IHttpHandler)