0

私はモバイルウェブサイトを持っており、スタイルシート/画像をインターセプトし、デバイスに関連するサイズを設定しています。私はIIS7でそれをテストしていて、うまく動作します。

ライブサイトはIIS6(lil驚き)です...

フレンドリURLの通常のルーティングは正常に機能しますが、スタイルシート/画像インターセプトは何もしません。

これが私のglobal.asaxルーティングセクションのスニペットです:

public static void RegisterRoutes(RouteCollection routes)
{
                routes.RouteExistingFiles = true;

                routes.MapPageRoute("ImageResizerS", "images/{Sub}/{Path}", "~/Site_Handlers/ImageResize.ashx");
                routes.MapPageRoute("ImageResizer", "images/{Path}", "~/Site_Handlers/ImageResize.ashx");

                routes.MapPageRoute("StyleSheetIntercept", "Styles/{Path}", "~/Site_Handlers/InterceptStyleSheet.ashx");

                routes.MapPageRoute("Landing page", "", "~/Site_Files/LandingPage.aspx");
    }

問題であると想定されるのは?

私が気づいたこと:

に設定routes.RouteExistingFiles = true;したときfalse。IIS7とIIS6で同じ動作を作成します...インターセプトなし。

4

2 に答える 2

1

IIS6 では、ワイルドカード マッピングを有効にして、正しいハンドラーが要求 (この場合は ASP.Net) を受け取るようにする必要があります。そうしないと、静的な Web ページのように処理されてしまいます。方法については、 Microsoft の Web サイトを参照してください。

手順 4 の実行可能パスは、.Net のバージョンによって異なりますが、最も簡単な方法は、.Net が既に処理している他のマッピング (.aspx、.ashx など) のいずれかから値をコピーすることです。

于 2012-07-02T14:50:53.127 に答える
0

サーバーで、IISを開きます。

  1. サイト/仮想ディレクトリを右クリックし、プロパティを選択します
  2. [ホームディレクトリ/仮想ディレクトリ]タブに移動し、[構成](下部近く)をクリックします
  3. 再び下部近くで、挿入ボタンをクリックします
  4. C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727\aspnet_isapi.dllと入力します-この場合はv4を使用します。
  5. [ファイルが存在することを確認する]ボタンのチェックを外し、[OK]をクリックして、すべてのダイアログを閉じます

参照: IIS6でのASP.NETルーティング

于 2012-07-03T13:32:51.413 に答える