1
想象一下,ASP.NET MVC Web应用程序允许用户浏览服务器上某些VCS存储库的内容。现在,这个存储库,其中包含*.cshtml
文件,我想“按原样”进行渲染。ASP.NET MVC:按原样服务.cshtml文件
换句话说,当用户导航到http://example.com/browse/directory/subdirectory/main.cs时,将显示main.cs
文件的“原始”内容 - 并且这已经正常工作。但是,访问http://example.com/browse/directory/subdirectory/main.cshtml会导致ASP.NET运行时内部存在HttpException。
我试图从/browse
取出BlockViewHandler
,并明确允许<requestFiltering>
*.cshtml
文件 - 但无济于事:
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".cshtml" />
<remove fileExtension=".vbhtml" />
<add fileExtension=".cshtml" allowed="true" />
<add fileExtension=".vbhtml" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
这些.cshtml文件无论如何都不在磁盘上 - 它们位于VCS存储库中,我可以通过它编程获取它们。这里的罪魁祸首是以“.cshtml”结尾的URL,ASP.NET似乎在扼杀。 –