在類庫中建Http Handler的操作很簡單,就是添加一個普通的類,然後把之前ashx裡的代碼幾乎一模一樣貼到這個類中。但要注意命名空間和類名,因為之後我們會用 到。
樣例Handler:
復制代碼 代碼如下:
namespace EdiBlog.Core.Web.HttpHandlers
{
using System;
using System.Web;
public class ExampleHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
// 你自己的邏輯...
}
}
}
這個handler的邏輯不重要,你可以自己定義。關鍵點是實現:IsReusable及ProcessRequest這兩個接口中定義的成員。
下面我們要去站點的web.config中注冊這個handler。如果你用的是IIS7及以上版本,並用了集成模式,就要這樣配置:
在system.webServer\handlers節點下添加:
<add name="ExampleHandler" verb="*" path="ex.axd" type="EdiBlog.Core.Web.HttpHandlers.ExampleHandler, EdiBlog.Core" />
其中,path是訪問handler用的路徑,並且拓展名需要在iis中注冊,如果你和我一樣用的是虛擬主機,並且不能自己管理IIS,請不要使用如abc這樣的IIS默認不支持的拓展名。
type裡有兩個參數,第一個是handler類的完整命名,第二個是程序集的名稱。
現在我們在網頁上就可以用ex.axd來訪問handler了!