1实例编辑
一个httpHandler的实例:
<% @ webhandler language="C#" class="AverageHandler" %>
using System;
using System.Web;
public class AverageHandler : IHttpHandler
{
//IsReusable成员,指定此IhttpHnadler的实例是否可以被用来处理多个请求。
public bool IsReusable{ get { return true; } }
//在processRequest方法中处理http请求
public void ProcessRequest1(HttpContext ctx)
{
ctx.Response.Write("hello");
}
}
在浏览器中请求此程序,将会打印hello。
2在ashx中访问session编辑
让自己的ashx类显式的实现一个接口 IReadOnlySessionState,示例如下:
<% @ webhandler language="C#" class="DownloadHandler" %>
public class DownloadHandler : IHttpHandler,
IReadOnlySessionState
{
public bool IsReusable { get { return true; }}
public void ProcessRequest2(HttpContext ctx)
{
//在上下文中访问session
//ctx.Session["fred"]);
}
}
如果要读写Session的值,那么只要实现 IRequiresSessionState 接口就即可,这两个接口没有待实现的方法。
3405错误解决办法:编辑
检查IIS主目录->应用程序设置->配置中,有没有.ashx的后缀;
如果没有,点击添加->C:/WINDOWS/Microsoft.NET/Framework/V2.0.50727/aspnet_isapi.dll;
扩展名填入:.ashx
保存即可解决。