2012-01-25 15 views
5

Wygląda na to, że MVC3 ma procedurę obsługi priorytetów dla rozszerzeń plików .cshtml i .vbhtml i próbuje zlokalizować je w domyślnym folderze.Wymuszenie obsługi programu ASP.NET MVC3 w celu zignorowania adresów URL .cshtml i .vbhtml i przekazanie ich po prostu przez

przypadku żądania te adresy:

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

MVC zawsze szuka tych konkretnych plików statycznych w domyślnym folderze .

Niezależnie od rozszerzenia lub trasy, chcę całkowicie zignorować obsługę .vshtml & .vbhtml i po prostu przekazać pełny adres URL, podobnie jak wszystkie inne adresy URL, dzięki czemu mogę samodzielnie zarządzać routingiem (z Nancy).

Uruchamianie MVC3 + Nancy + Razor w usługach IIS 7.5 na instancji Azure.

Odpowiedz

4

Dodaj

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

do web.config. Począwszy od następnej wersji Nancy (0.10), silnik Razor automatycznie doda to do web.config

+0

Niestety to nie pomoże. Wygląda na to, że ta linia blokuje tylko pliki .cshtml i .vbhtml w/Widoki, a następnie IIS zwraca kod stanu 404. Muszę pozwolić, aby adresy URL przepływały przez Nancy jak prawidłowe do Nancy i kierować je w inne miejsce. – DominiqueBal

+1

Nieparzysty ... mieliśmy zgłoszony problem, w którym domyślny handler przechwycił żądanie na trasach, które miały tę samą nazwę co widoki. .. byliśmy doradcami zespołu ds. MVC do korzystania z tego rozwiązania i rozwiązało to dla tego konkretnego przypadku – TheCodeJunkie