2012-01-25 8 views
5

MVC3には.cshtmlと.vbhtmlというファイル拡張子の優先度ハンドラがあり、それらをデフォルトのフォルダに配置しようとしているようです。ASP.NET MVC3ハンドラに.cshtmlと.vbhtmlのURLを無視し、それらを単に渡す

これらのURLを要求:

  • domain.com/test.cshtml
  • domain.com/test.vbhtml

をMVCは常にデフォルトのフォルダにこれらの特定の静的ファイルを検索します。

拡張子や経路にかかわらず、.cshtml & .vbhtmlの処理を完全に無視し、他のすべてのURLと同じように完全なURLを渡すだけで、ルーティングは自分で処理できます)。

Azureインスタンス上でIIS 7.5でMVC3 + Nancy + Razorを実行しています。

答えて

4

あなたのweb.configファイルに

<configuration> 
    <appSettings> 
    <add key="webPages:Enabled" value="false" /> 
    </appSettings> 
</configuration> 

を追加します。ナンシーの次のバージョン(0.10)から、Razorエンジンは自動的にこれをweb.configに追加します

+0

残念ながらそれは役に立ちません。この行は/ Views内の.cshtmlファイルと.vbhtmlファイルのみをブロックするようですが、IISはコードステータス404を返します。URLを有効なものと同様にナンシーに渡し、別の場所にルーティングする必要があります。 – DominiqueBal

+1

奇数..デフォルトのハンドラが、ビューと同じ名前を共有しているルートへのリクエストをインターセプトするという報告された問題がありました。これを使用するためにMVCチームのpplの助言を受けていました。 – TheCodeJunkie

関連する問題