ASP.NETで、ジェネリックハンドラファイル(.ashx)を作成しよう
まずはASP.NETの新しい項目の追加で、ジェネリックハンドラを作成します。
ここでは「RedirectorHandler.ashx」と命名しました。ここで作成したひな形のコードのProcessRequestに、後ほど処理を記述していきます。
public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); }
Public Sub ProcessRequest(ByVal context As HttpContext) _
Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain"
context.Response.Write("Hello World")
End Sub
IISにジェネリックハンドラを結びつけよう
次にファイルが見つからなかった場合の関連付けを行います。WindowsとIISのバージョンによって若干操作が違うので、バージョン別に記述します。
Windows XP(IIS 5.1)
IISマネージャの、testredirectアプリケーションプロパティを開き、[カスタムエラー]タブを選択します。
[404]を選択し、[プロパティの編集]ボタンを押します。
メッセージの種類を[URL]に変更し、URLを「/testredirect/RedirectorHandler.ashx」に設定します。

同様に[403;14]も同じ設定をします。
Windows Server 2003(IIS 6)
IISマネージャの、testredirectアプリケーションプロパティを開き、[カスタムエラー]タブを選択します。
[404]を選択し、[編集]ボタンを押します。
メッセージの種類を[URL]に変更し、URLを「/testredirect/RedirectorHandler.ashx」に設定します。

同様に[403;14]も同じ設定をします。
Windows Vista(IIS 7)の場合
IISマネージャのtestredirectをポイントし、センターペインの[エラーページ]を選択します。
[404]を選択し、右ペインの[編集]を選択します。
パスの種類を[URLの実行]に変更し、パスを「/testredirect/RedirectorHandler.ashx」に変更します。

同様に[403]も設定しましょう。
ローカルでテストを行う場合、そのままの設定では詳細なエラー画面が出てしまいます。一時的に[機能設定の編集]からカスタム エラー ページを設定しておきましょう。






