0

私は、(とりわけ) いくつかの静的ファイルを提供している ASP.NET Web プロジェクトを持っています。デフォルトでは、フレームワークは、すべてのファイル パスが Web プロジェクトの場所に相対的であると想定します。ただし、実際のルートを Web.config のカスタム設定 (例) からロードしたいと思い"C:\MyStaticFiles\"ます。

StaticFileHandlerサーバーのルート ディレクトリと見なされるものを変更する方法はありますか? IHttpHandlerそうでない場合、この変更を行い、残りの作業を定期的に引き渡す簡単な実装方法はありStaticFileHandlerますか?

4

2 に答える 2

2

パフォーマンス上の理由から、HttpHandler をいじるよりも、URL 書き換えを使用することをお勧めします。StaticFileHandler は IIS ほど高速ではありません。あなた自身のハンドラーは StaticFileHandler よりも 10 倍遅くなり、本当に優れたエンジニアでない限り、メモリ リーク (または誤って占有) する可能性があります。

HttpModule または HttpApplication の BeginRequest イベント (URL 認証を使用する場合は PostAuthorizeEvent) で context.RewritePath を呼び出して、選択したファイル タイプで書き換えを行うことができます。

于 2011-11-02T14:50:16.790 に答える
0

パフォーマンス上の理由から、静的リソースに異なるパス マッピングを作成することはお勧めできません。それらが Web サイト フォルダーにある場合、ASP.NET 処理なしで IIS によって直接提供されます。

于 2011-11-02T14:44:51.443 に答える