Могу ли я обслуживать файлы .html с помощью Razor, как если бы они были файлами .cshtml, без изменения расширения всех моих страниц?

Я управляю большим asp. net, который ранее был преобразован из статического HTML-сайта в asp.net.

По нескольким причинам (в основном для SEO) мы решили не переименовывать все файлы в .aspx обратно при первоначальной конвертации сайта. Это было очень легко сделать, просто добавив buildProvider и httpHandler в web.config.

<buildProviders>
  <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>

<httpHandlers>
  <add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>

Сейчас я обновляю сайт для использования веб-страниц Asp.net с файлами Razor cshtml. Я могу переименовать все файлы, если необходимо, и использовать переопределение URL-адресов, чтобы URL-адреса оставались неизменными, однако было бы намного проще, если бы я мог просто настроить web.config, чтобы он анализировал файлы .html, как если бы они были .cshtml .

Я довольно много поискал и не нашел ничего эквивалентного PageHandlerFactory для страниц razor. Похоже, что это просто внутренний механизм в обработчике ISAPI .net 4.0.

В настоящее время сайт работает на сервере Windows 2003 и IIS 6. В ближайшем будущем мы выполним обновление до 2008 / IIS 7.5, но я бы предпочел не ждать этого.

Есть ли способ получить файлы .html должны быть проанализированы с помощью razor, как если бы они были файлами .cshtml?

10
задан Nick Haslam 4 May 2011 в 10:14
поделиться