1

現在、私の製品は 72 MB の完全な展開サイズを持ち、そのうち 68 MB は私のアプリの bin フォルダーにある DLL です。メイン アプリケーション DLL 自体は 2 MB 未満であるため、フットプリントの大部分は MVC 自体と、私のプロジェクトにあるいくつかの「アドオン」 (Stimulsoft Reports、Glimpse など) からのものです。

このアプリは、最終的に 2000 の Web サイトに展開されます。明らかに、この方法でデプロイされたアプリケーションには膨大な量の冗長性があります (Bin Deployed -- Copy Local True)。この展開の全体的なフットプリントを削減するにはどうすればよいですか?

私が見つけることができたすべてのドキュメントは、実際には「単一展開」のケースのみを扱っています。展開サイズ、ディスク容量、およびメモリ使用量を節約するような方法でこれを行うことを実際に説明しているものを見つけることができませんでした.

最小限のフットプリントで数千のサイトにアプリケーションを正常に展開するために使用できる主要な戦略は何ですか?

4

1 に答える 1

1

2000 回のビン展開でも、おそらく最良のアプローチです。ディスク容量は、これを管理するためのカスタムを構築するコストに比べて非常に安価です。

本当に必要な場合は、厳密な名前を付けてGACに追加することで、ディスク上の DLL 数/サイズを減らすことができます。ただし、アセンブリを GAC に配置することには、バージョン管理や信頼レベルに関する潜在的な問題など、知っておくべき多くのトレードオフがあります。

サイトを同じアプリ プールにグループ化することで、Web サーバーのメモリ消費量を減らすことができます (共有アセンブリは 1 回だけ読み込まれます)。ただし、これもあまりお勧めしません。共有アプリ プールは分離を意味しないため、1 つのサイトがダウンしても、すべてがダウンします。

そうは言っても、より多くのディスク容量とメモリを購入し、可能であればそれについて心配しないのが最善の策ですが、そのトレードオフを確実に理解する必要があります。

于 2013-05-07T20:13:21.730 に答える