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似乎在扼殺。 –