7

global.asaxにこのルートのMVC3アプリケーションがあります

routes.MapRoute(
            "ProfilePictureSmall",                             // Route name
            "small/{PictureID}.jpg",                           // URL with parameters
            new { controller = "Picture", action = "Show", Size = "small", PictureID = Guid.Empty }  // Parameter defaults
        );

そしてこれは私のコントローラーからのアクションです

public ActionResult Show(string Size, Guid PictureID)

このルートは私のコンピューターでは機能しませんが、他のローカルコンピューター、テストサーバー、およびライブサーバーでは機能します。以前はPCでも動作していましたが、最近システムを再インストールしたので、これと関係があると思います。

誰かアイデアはありますか?

PS:他のすべてのルートは正常に機能します。これは、 .jpgを削除しても機能します

4

3 に答える 3

5

私の場合、この行をsystem.webServer内のweb.configに追加します

<modules runAllManagedModulesForAllRequests="true" />

修正しました。

ところで。.NetMVC4.0を使用しています

ソース

于 2013-01-21T20:26:54.733 に答える
0

Windowsの新規インストールであるため、.NET FrameworkがIISの前にインストールされていて、正しく登録されていない可能性があります。そのため、静的ファイルハンドラーが存在しないjpgを提供しようとしている可能性があります。

実行してみてくださいaspnet_regiis.exe -i

于 2012-11-28T03:47:02.943 に答える
0

IISを再インストールすることで、ようやく動作するようになりました。

正確に何をしたかはわかりませんが、Windows7のコントロールパネルにIISをインストールするときに確認した機能/Windowsの機能のオン/オフ/インターネットインフォメーションサービス

これらは私が行った唯一の変更です(コード/構成の変更はありません)

ここに画像の説明を入力してください

于 2013-01-31T08:56:15.657 に答える