ASP.Net/Network/IHttpHandler

Материал из .Net Framework эксперт
Версия от 11:54, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Create a simple Handler

using System;
using System.Web;
namespace MyLib {
    public class SimpleHandler : IHttpHandler {
        public bool IsReusable {
            get {
                return true;
            }
        }
        public void ProcessRequest(HttpContext context) {
            context.Response.Write("<html><head><title>SimpleHandler</title></head><body>");
            context.Response.Write("<h2>The time is ");
            context.Response.Write(DateTime.Now.ToString());
            context.Response.Write(".</h2></body></html>");
        }    
    }
}
BuildSimpleHandler.bat
csc /target:library /reference:System.Web.dll 
/out:MyLib.dll SimpleHandler.cs
HandlerWeb.config
<configuration>
    <system.web>
        <httpHandlers>
            <add verb="*" path="time.xxd"
                 type="MyLib.SimpleHandler" />
        </httpHandlers>
    </system.web>
 </configuration>



Custom HTTP Handler

File: SimpleHandler.cs
using System;
using System.Web;
using System.IO;
public class SimpleHandler : IHttpHandler
{
  public void ProcessRequest(System.Web.HttpContext context)
  {
    HttpResponse response = context.Response;
    response.Write("<html><body><h1>Rendered by the SimpleHandler");
    response.Write("</h1></body></html>");
  }
  public bool IsReusable
  {
    get { return true; }
  }
}

File: SimpleHandler.ashx
<%@ WebHandler Language="C#" Class="SimpleHandler" %>
File: web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.ru/.NetConfiguration/v2.0">
  <system.web>
    <httpHandlers>
      <add verb="*" path="source.simple" type="SourceHandler"/>
      <add verb="*" path="test.simple" type="SimpleHandler" />
    </httpHandlers>
  </system.web>
</configuration>


<A href="http://www.nfex.ru/Code/ASPDownload/CustomHTTPHandler.zip">CustomHTTPHandler.zip( 1 k)</a>