基本的な MSDN 情報といくつかのチュートリアルを確認しました。これまでに学んだことから、ImageHandler.ashx および PDFHandler.ashx と呼ぶ 2 つの .ashx ハンドラーを作成できました。それぞれ、イメージまたは PDF を返します。これらのハンドラーの両方について、ProcessRequest
メソッドでcontext.Response.ContentType
、それぞれ「image/jpeg」と「application/pdf」に設定し、結果を書き込みcontext.Response.BinaryWrite(bytes)
ます。これまでのところ、これは問題なく機能します。
ただし、タイプに関係なく、ユーザーが任意のファイルをダウンロードできるようにしたいと考えています。ファイルの種類ごとに異なる Handler を作成する必要がありますか?
.ashx ファイルを 1 つだけ作成し、ファイルの種類 (ファイル名の部分文字列を介して取得) に基づいて switch ステートメントを作成できますか? 私がそうしても、.xyz ファイルなど、標準ではないファイルの種類はどうなりますか? その場合、何を設定しcontent.Response.ContentType
ますか?