Кто-нибудь знает, как полностью отключить расширение .cshtml в веб-приложении ASP.NET?
По сути, я хочу перехватить расширение .cshtml и предоставить собственную реализацию на основе RazorEngine host, хотя, когда я пытаюсь получить доступ к page.cshtml напрямую, он, кажется, работает под существующим хостом бритвы WebPages, который я пытаюсь отключить.
Примечание: похоже, еговыполнение страниц .cshtml в контексте System.Web.WebPages.Razor при инициализации базы данных Microsoft.Data.У меня даже нет ссылок на dll Mvc или WebPages, только System.Web.dll и локальная копия System.Web.Razor с RazorEngine.dll
Я создал новый ASP.NET Web .NET 4.0 приложение и попытался очистить все buildProviders и обработчики, как показано ниже:
<system.web>
<httpModules>
<clear/>
</httpModules>
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<clear/>
</buildProviders>
</compilation>
<httpHandlers>
<clear/>
<add path="*" type="MyHandler" verb="*"/>
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<clear/>
</modules>
<handlers>
<clear/>
<add path="*" name="MyHandler" type="MyHandler" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
Хотя даже при этом, когда я захожу на любую page.cshtml страницу, она все еще обходитМой обработчик подстановочных знаков и пытается выполнить саму страницу.
По сути, я хочу удалить все следы обработчиков .cshtml / buildProviders / preprocessing, чтобы я мог сам обслуживать страницы .cshtml, кто-нибудь знает, как я могу это сделать?