0

カスタム ハンドラー (.ashx) ファイルの作成方法を教えてください。要件: アプリケーションに .pdf のリクエストが届いたときに、その .ashx ハンドラーを呼び出したいと考えています。.ashx ハンドラーには、ファイルを表示するかどうかのロジックがあります。

私の着信パスは「http://www.domainname.com/Content/PDF/ABC.pdf」になります。この URL は、「http://www.domainname.com/Handler.ashx」ファイルで処理する必要があります。

アプリケーションでハンドラーを作成、マップ、および登録する方法を知りたい

前もって感謝します。

4

1 に答える 1

0

HTTPHandlerASP.NET MVC を使用している場合に必要な理由は、Actionメソッドを使用してファイル コンテンツをサーバー化することです。HttpHandlerAction メソッドで行うほとんどのことを行うことができます。http://domainname.com/content/abcabc.pdfファイルを返すことができるように、アクションのルーティングを行うことができ ます

ブラウザからリソース (PDF) に直接アクセスさせないでください。代わりに、メソッドを介してアクセスを許可しますaction。アクションメソッドでファイルID/nameをリクエストから読み込み、ファイルを読み込んで出力します。以下のようなアクションメソッドがあると仮定しますResourceController

public ActionResult GetFile(string id)
{
   string fullFilePath=somefullpathvariable+"//"+id+".pdf";
   return File(fullFilePath, "application/pdf", Server.UrlEncode(id+".pdf"));
}

これで、ユーザーは次のようにアクセスできます

http://www.yourdomain.com/Resource/awesomemvc

awesomemvc.pdfこれで、サーバーに保存されている場所から呼び出されたファイルを返すことができ、someFullPathVariableその場所へのパスを保持します

于 2012-05-23T11:54:53.560 に答える