gpt4 book ai didi

c# - 在 ASP.NET Web 应用程序中禁用 Razors 默认 .cshtml 处理程序

转载 作者:行者123 更新时间:2023-12-02 09:05:30 25 4
gpt4 key购买 nike

有人知道如何从 ASP.NET Web 应用程序中完全禁用 .cshtml 扩展吗?

本质上,我想劫持 .cshtml 扩展名并基于 RazorEngine 提供我自己的实现。主机,尽管当我尝试直接访问 page.cshtml 时,它似乎正在我试图禁用的现有 WebPages razor 主机下运行。

Note: it looks like its executing .cshtml pages under the System.Web.WebPages.Razor context as the Microsoft.Data Database is initialized. I don't even have any Mvc or WebPages dlls referenced, just System.Web.dll and a local copy of System.Web.Razor with 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 handlers/buildProviders/preprocessing 的所有痕迹,以便我可以自己提供 .cshtml 页面,有人知道我该怎么做吗?

最佳答案

如果您尝试关闭 ASP.NET 网页,您可以在应用设置中设置此标志:

<add key="webpages:Enabled" value="false" />

关于c# - 在 ASP.NET Web 应用程序中禁用 Razors 默认 .cshtml 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com