私たちのWebサーバーでは、ユーザーのプロフィール写真を表示するために、HTML要素で使用できるURLを提供したいと考えています。
私はこれを2つの方法で行うことができます:
- 画像を静的リソースとしてWebサーバーに配置します:mysite.com/user1.jpg
- IHttpHandlerを実装します:mysite.com/images?userid=1
ある方法が他の方法よりも優れている点はありますか?
ASP.NET 経由で画像を処理するのではなく、IIS で画像を静的コンテンツとして処理し、ASP.NET パイプラインを完全に回避するのが最速です。
を実装するHttpHandler
には、コードが必要なだけでなく、ASP.NET パイプラインが関与する必要があります。これにより、サーバーからより多くのリソースが必要になります。
基本的に、コンテンツが静的な場合は静的にして、IIS に処理させます。
IIS に処理させます。ハンドラーから画像を提供すると、多くのリソースが消費される可能性があります。絶対に必要でない限り、それをしないでください。
サイトに多くの画像がある場合、これは、Asp.net が処理する余分な要求が多いことを意味します。Asp.net は、リクエストごとに、IIS が静的ファイルをプッシュするために必要とするリソースよりもはるかに多くのリソースを必要とします。