イメージ CDN として機能する MVC4 Web サイトをセットアップしようとしていますが、VirtualFolder 機能を IIS または IIS Express で「未加工」(未変更) ファイルに対して動作させることができません。Web サイトを組み込みの Web サーバーに切り替えると、「生の」ファイルを要求でき、ロードされます。どちらの場合でも、?width=300 などのクエリ文字列を使用すると、画像が正しく読み込まれます。
最終的に私の目標は、動的コンテンツを管理しているコンテンツ サービスからファイルをロードする独自のプラグインを作成することです。多くの場合、画像を元の形式でロードする必要があります。somewebsite.com/images/{someid}/{somefilename}.ext のような形式になります。
これはまったく新しい Web サイトで、NuGet の MVCWebConfig パッケージを使用して ImageResizer をインストールしました。現在、「~/testpath」を指す VirtualFolder プラグインがあり、前述のように、~/testpath/someimage.jpg は機能しませんが、~/testpath/someimage.jpg?width=300 は機能します。
トラブルシューティング、Stackoverflow、および Google 検索を実行しましたが、すべてが正しく設定されているように見えるので、ビルトイン サーバーが機能する理由がわかりませんが、IIS と IIS Express は機能しません。
注として、これは Windows 7 Ultimate、VS2k12 上にあります。Express は IIS8 として表示され、通常の IIS は 7.5 です。
さらに、RAMMFAR (runAllManagedModulesForAllRequests) をオンまたはオフにして試しました。 編集- RAMMFAR を持っていないと組み込みサーバーが raw ファイルをレンダリングしないと誤って報告しましたが、そうではありません。どちらの場合も RAMMFAR は影響していないようですが、 vpp="true" を使用したことが違いを生んだのです。
編集さらに、プラグインに vpp="false" と vpp="true" を使用させようとしました。
EDIT 7/11/2013 resizer.debug 診断シートの詳細 (IIS Express で実行) は次のとおりです。
画像リサイズ診断シート 2013/07/11 12:50:49 PM
2 件の問題が検出されました:
(警告): ここで追加のエラーが表示される可能性がある場合は、画像のサイズ変更リクエストを実行してください。
(警告): NoCache は開発用のみであり、本番用に拡張することはできません。本番用にDiskCacheまたはCloudFrontを追加
有料バンドルを使用していません。
登録済みプラグイン:
ImageResizer.Plugins.Basic.DefaultEncoder ImageResizer.Plugins.Basic.NoCache ImageResizer.Plugins.Basic.ClientCache ImageResizer.Plugins.Basic.Diagnostic ImageResizer.Plugins.Basic.SizeLimiting ImageResizer.Plugins.MvcRoutingShim.MvcRoutingShimPlugin GAT.Web.Cdn.Plugins. ContentImagePlugin ImageResizer.Plugins.Basic.VirtualFolder ImageResizer.Plugins.Basic.Gradient
構成:
受け入れられるクエリ文字列キー:
品質、フォーマット、サムネイル、color1、color2、角度、幅、高さ、maxwidth、maxheight、w、h、スケール、ストレッチ、クロップ、cropxunits、cropyunits、ページ、bgcolor、回転、フリップ、sourceFlip、sFlip、sRotate、borderWidth、 borderColor, paddingWidth, paddingColor, ignoreicc, フレーム, useresizingpipeline, キャッシュ, プロセス, マージン, アンカー, dpi, モード, ズーム,
受け入れられるファイル拡張子:
bmp、gif、exif、png、tif、tiff、tff、jpg、jpeg、jpe、jif、jfif、jfi、
環境情報:
Microsoft Windows NT 6.1.7601 Service Pack 1 および CLR 4.0.30319.18052 で Microsoft-IIS/8.0 を実行 信頼レベル: 無制限 OS ビット数: x86 !! 警告、64 ビット OS (AMD64) で 32 ビットとして実行されています。これにより、RAMの使用が制限されます!! アセンブリの実行: C:\Program Files (x86)\IIS Express\iisexpress.exe IntegratedPipeline: True