2013年9月16日 星期一

IIS6&7 handler 開發

最近試著寫了一個簡單的handler for iis6&7
紀錄一下免得以後忘了

1. Visual Studio 新增一個 MyIIS7Handler 類別庫的專案

2.新增System.Web 的參考
3.新增以下的Code

namespace MyIIS7Handler
{
    public class MyHandler : IHttpHandler
    {
        public bool IsReusable
        {
            get { return false; }
        }

        public void ProcessRequest(HttpContext context)
        {
            DateTime dt;
            dt = DateTime.Now;

            context.Response.Write(String.Format("<h1>{0}</h1>",dt.ToLongTimeString()));
        }
    }
}

4.將程式編譯好放到IIS Server上(iis7的設定方式所參考的網頁都有說明, 這裡僅記錄iis6)
先將dll 放到網站的bin目錄下


5.網站的Web.Config 新增以下設定於<system.web>內
目的是讓副檔名是tm的檔案都透過我們的handler來執行

        <httpHandlers>
   <add verb="*" path="*.tm" type="MyIIS7Handler.MyHandler"/>
        </httpHandlers>

6.還要設定副程式讓aspnet_isapi來執行我們的 dll

參考網頁:
How To Create an ASP.NET HTTP Handler by Using Visual C# .NET
INFO: ASP.NET HTTP 模組與 HTTP 處理常式概觀
Migration of ASP.NET app from IIS6 to IIS7 (7.5)
Develop a Native C\C++ Module for IIS 7.0
Developing a Module Using .NET
Developing IIS7 modules and handlers with the .NET framework

沒有留言:

張貼留言