ASP.NETでジェネリック ハンドラーを作成する手順を紹介します。
ASP.NETプロジェクトの作成
Visual Studioを起動します。
[ファイル][新規作成][プロジェクト]メニューをクリックし新しいプロジェクトを作成するか、ソリューションエクスプローラーでソリューションノードを選択し右クリックしてポップアップメニューを表示し[追加]メニューの[新しいプロジェクト]をクリックします。下図の[新しいプロジェクトの追加]ダイアログが表示されます。
左側のツリービューで[Visual C#]ノードの子ノードである[Web]ノードをクリックして選択します。右側のエリアのプロジェクト種類の一覧から[ASP.NET Web アプリケーション (.NET Framework)]を繰りくして選択します。ウィンドウ下部の[名前]テキストボックスに作成するプロジェクト名を入力します。またプロジェクトを保存する場所のパスを[場所]テキストボックスに入力します。入力ができたら[OK]ボタンをクリックします。
[新しい ASP.NET Web アプリケーション]のウィンドウが表示されます。一覧から[空]を選択します。オプションはデフォルトのままとします。設定ができたらウィンドウ右下の[OK]ボタンをクリックします。
ASP.NETのプロジェクトが作成されます。
ジェネリックハンドラーの追加
ソリューションエクスプローラーのウィンドウでプロジェクトのノードをクリックして選択します。右クリックしてポップアップメニューを表示し、[追加]メニューの[新しい項目]をクリックします。
[新しい項目の追加]ウィンドウが表示されます。
左側のツリービューで[Visual C#]ノードの子ノードの[Web]ノードをクリックして選択します。右側の種類の一覧リストから[ジェネリック ハンドラー]の項目をクリックして選択します。ウィンドウ下部の[名前]テキストボックスに作成するジェネリックハンドラーの名称を入力します。設定ができたらウィンドウ右下の[追加]ボタンをクリックします。
プロジェクトにジェネリックハンドラーが追加されました。
生成されたデフォルトのコードで実行してみます。プロジェクトを実行します。プロジェクトが実行され、ウェブブラウザが表示されます。ジェネリックハンドラーのURLではないページが表示された場合は、ジェネリックハンドラーのURLを入力して、ジェネリックハンドラーにアクセスします。
下図の画面が表示されます。ジェネリックハンドラーからテキストで"Hello World"の文字列が返されたものをWebブラウザが表示しています。
ジェネリックハンドラーの実装
ジェネリックハンドラーにコードを実装します。下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SimpleGenericHandler
{
/// <summary>
/// SimpleHandler の概要の説明です
/// </summary>
public class SimpleHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string content =
"<HTML>"
+ "<head>"
+ "<title>Simple Generic Handler</title>"
+ "</head>"
+ "<body>"
+ "<h2>Hello Generic Handler World!</h2>"
+ "</body>"
+ "</HTML>";
context.Response.Write(content);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
解説
生成されたジェネリックハンドラーのコードのProcessRequest()メソッド部分にコードを追記します。
下記のContentTypeを "text/html" に設定することで、ジェネリックハンドラーの返すデータがHTMLであることを指定しています。
context.Response.ContentType = "text/html";
続いて下記のコードで、レスポンスとして返すHTMLのデータを用意して返しています。
string content =
"<HTML>"
+ "<head>"
+ "<title>Simple Generic Handler</title>"
+ "</head>"
+ "<body>"
+ "<h2>Hello Generic Handler World!</h2>"
+ "</body>"
+ "</HTML>";
context.Response.Write(content);
実行結果
プロジェクトを実行します。プロジェクトが実行され、ウェブブラウザが表示されます。ジェネリックハンドラーのURLではないページが表示された場合は、ジェネリックハンドラーのURLを入力して、ジェネリックハンドラーにアクセスします。
下図の画面が表示されます。ジェネリックハンドラーからの戻り値が、HTMLファイルとして表示され、h2タグの文字サイズで "Hello Generic Handler World!" の文字列が画面に表示されることが確認できます。
シンプルなジェネリックハンドラーを作成できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-06
作成日: 2018-07-26